Trailmakers Wiki trailmakers_en https://trailmakers.wiki.gg/wiki/Trailmakers_Wiki MediaWiki 1.39.4 first-letter Media Special Talk User User talk Trailmakers Wiki Trailmakers Wiki talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Gadget Gadget talk Gadget definition Gadget definition talk Map Map talk Template:Ambox 10 7 38 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <onlyinclude><includeonly><table style="{{{style|}}}" class="plainlinks ambox {{#ifeq:{{{format|}}}|tiny|ambox-tiny}} {{#switch:{{{border|}}} | red = ambox-red | orange = ambox-orange | yellow = ambox-yellow | purple = ambox-purple | blue = ambox-blue | green = ambox-green | gray = ambox-gray | #default = ambox-green }} {{{class|}}}"> <tr> <td class="ambox-image">{{{image|[[File:{{{icon|Information.png{{!}}48px}}}|{{#ifeq:{{{format|}}}|tiny|x20px}}|alt=]]}}}</td> <td class="ambox-text">{{{type|}}} {{#if:{{{info|}}}|{{#ifeq:{{{format|}}}|tiny||<div class="amsmalltext"> {{{info}}} </div>}}}}</td></tr></table></includeonly></onlyinclude><noinclude> {{doc}} [[Category:Notice templates]]</noinclude> 32fe627ecb6c9c20a4757a890f8874f6dceea1b2 Template:Fullurl 10 8 40 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <includeonly>{{#if: {{{nolink|}}} | <nowiki>http://help.gamepedia.com/index.php?title=</nowiki>{{{1}}}{{#if: {{{2|}}} | &{{{2}}} }} |<!-- --><span class="plainlinks">{{#if: {{{text|}}} | [ }}{{fullurl: {{{1}}} | {{{2|}}} }} {{#if: {{{text|}}} | {{{text}}}]}}</span>}}</includeonly><noinclude>{{doc}} [[Category:Formatting templates|{{PAGENAME}}]]</noinclude> 46367eacd22a6dce7076a2ab94d525b760c66e2b Template:Stub 10 9 42 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <div class="nomobile">{{Ambox | image = [[File:Icon-stub.svg|44px|Stub]] | type = ''This article is a [[:Category:Stubs|stub]]. You can help {{SITENAME}} by {{fullurl|{{FULLPAGENAME}}|action{{=}}edit|text=expanding it}}.'' | border = orange }}<br /></div><!-- --><div class="mobileonly" style="text-align:center">''This article is a [[:Category:Stubs|stub]]. You can help {{SITENAME}} by {{fullurl|{{FULLPAGENAME}}|action{{=}}edit|text=expanding it}}.''<br /><br /></div><includeonly>[[Category:Stubs]]</includeonly><noinclude> {{doc}} [[Category:Notice templates]]</noinclude> f82226ac73001c29971eabb1d24c931b25cbd6e2 Test (achievement) 0 41 258 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <!-- This is just a test page --> [[Category:Notice templates|DisambigMsg]] d6fae1ce871035843e860abd2f50445bc38bd605 Test (class) 0 42 261 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <!-- This is just a test page --> [[Category:Notice templates|DisambigMsg]] d6fae1ce871035843e860abd2f50445bc38bd605 Trailmakers Wiki 0 45 311 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <!-- This is a responsive front page design that adapts to the available width of the browser by showing content in 1, 2, or 3 columns. This is done by dividing the main content of the page into four numbered sections. When the window is narrow, as on low-res displays, the content is displayed in a single column in order: 1, 2, 3, 4 When the window is medium, as on medium-res displays, there are two columns. Section 1 and 2 are on top with 1 on the left and 2 on the right. Sections 3 and 4 are on the bottom with 4 at the left and 3 at the right. When the window is wide, as on high-res displays, there are three columns. Sections 1 and 4 take up the left column, with section 1 on top. Section 2 takes up the middle column. Section 3 takes up the right column. Or, visually... Narrow Medium Wide |1| |1| |2| |1| | | | | [2| |4| |3| | | |2| |3| |3| |4| | | | | |4| --> <div id="mf-home" class="fpmain"> <div class="fpsection1"><!-- BEGIN SECTION 1 --> {{:{{SITENAME}}/Section 1}} </div><!--END SECTION 1--> <div class="fpmidsections"><!--BEGIN LAYOUT WRAPPER FOR SECTIONS 2 and 3--> <div class="fpsection2"><!-- BEGIN SECTION 2 --> {{:{{SITENAME}}/Section 2}} </div><!--END SECTION 2--> <div class="fpsection3"><!-- BEGIN SECTION 3 --> {{:{{SITENAME}}/Section 3}} </div><!--END SECTION 3--> </div><!--END LAYOUT WRAPPER FOR SECTIONS 2 and 3 --> <div class="fpsection4"><!-- BEGIN SECTION 4 --> {{:{{SITENAME}}/Section 4}} </div><!--END SECTION 4--> </div> <div class="nomobile" style="text-align: right;"><small>Main page sections: [[/Section 1|1]] &#183; [[/Section 2|2]] &#183; [[/Section 3|3]] &#183; [[/Section 4|4]]. Changes for the main page can be proposed [[{{SITENAME}}/editcopy|here]]. </small></div> <metadesc>The comprehensive wiki resource for the game</metadesc> [[Category:{{SITENAME}}| ]] 0cc2a36ffbfdbb261b09a06991ba54f2ab04609d 312 311 2017-11-02T19:01:06Z Malvodion 4285 Protected "[[Trailmakers Wiki]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <!-- This is a responsive front page design that adapts to the available width of the browser by showing content in 1, 2, or 3 columns. This is done by dividing the main content of the page into four numbered sections. When the window is narrow, as on low-res displays, the content is displayed in a single column in order: 1, 2, 3, 4 When the window is medium, as on medium-res displays, there are two columns. Section 1 and 2 are on top with 1 on the left and 2 on the right. Sections 3 and 4 are on the bottom with 4 at the left and 3 at the right. When the window is wide, as on high-res displays, there are three columns. Sections 1 and 4 take up the left column, with section 1 on top. Section 2 takes up the middle column. Section 3 takes up the right column. Or, visually... Narrow Medium Wide |1| |1| |2| |1| | | | | [2| |4| |3| | | |2| |3| |3| |4| | | | | |4| --> <div id="mf-home" class="fpmain"> <div class="fpsection1"><!-- BEGIN SECTION 1 --> {{:{{SITENAME}}/Section 1}} </div><!--END SECTION 1--> <div class="fpmidsections"><!--BEGIN LAYOUT WRAPPER FOR SECTIONS 2 and 3--> <div class="fpsection2"><!-- BEGIN SECTION 2 --> {{:{{SITENAME}}/Section 2}} </div><!--END SECTION 2--> <div class="fpsection3"><!-- BEGIN SECTION 3 --> {{:{{SITENAME}}/Section 3}} </div><!--END SECTION 3--> </div><!--END LAYOUT WRAPPER FOR SECTIONS 2 and 3 --> <div class="fpsection4"><!-- BEGIN SECTION 4 --> {{:{{SITENAME}}/Section 4}} </div><!--END SECTION 4--> </div> <div class="nomobile" style="text-align: right;"><small>Main page sections: [[/Section 1|1]] &#183; [[/Section 2|2]] &#183; [[/Section 3|3]] &#183; [[/Section 4|4]]. Changes for the main page can be proposed [[{{SITENAME}}/editcopy|here]]. </small></div> <metadesc>The comprehensive wiki resource for the game</metadesc> [[Category:{{SITENAME}}| ]] 0cc2a36ffbfdbb261b09a06991ba54f2ab04609d 313 312 2017-11-04T04:42:07Z Malvodion 4285 wikitext text/x-wiki <!-- TO EDIT MAIN PAGE CONTENT, see "Templates used on this page" below and edit: * Trailmakers Wiki/Top section * Trailmakers Wiki/Flex section * Trailmakers Wiki/Bottom section This is a basic responsive front page design that adapts to the available width of the browser by rearranging the sections themselves as well as content within each section. When narrow, the three sections line up vertically in a single column. When wide enough, the middle (flex) section is pulled out to become a right column. Much of the layout and appearance is determined through styles defined in these pages: * MediaWiki:Hydradark.css (for the desktop view) * MediaWiki:Mobile.css (for the mobile view) --> <div id="mf-home" class="fpcontent"> <div id="fptopsection"><!-- BEGIN TOP SECTION --> {{:Trailmakers Wiki/Top section}} </div><!--END TOP SECTION--> <div id="fpflexsection"><!-- BEGIN FLEX SECTION --> {{:Trailmakers Wiki/Flex section}} </div><!--END FLEX OTHER SECTION--> <div id="fpbottomsection"><!-- BEGIN BOTTOM SECTION --> {{:Trailmakers Wiki/Bottom section}} </div><!--END BOTTOM OTHER SECTION--> </div> <metadesc>The official community maintained wiki resource for Trailmakers!</metadesc> <div class="nomobile" style="text-align: right; margin-right: 10px;"><small>Main page sections: [[Trailmakers Wiki/Top section|Top]] &#183; [[Trailmakers Wiki/Flex section|Flex]] &#183; [[Trailmakers Wiki/Bottom section|Bottom]]. Changes for the main page can be proposed [[Trailmakers Wiki/editcopy|here]]. </small></div> [[Category:Trailmakers Wiki| ]] 175a638ea61c346ae358cd3133875cf2bc67e2b7 Trailmakers Wiki/Bottom section 0 46 316 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <div class="fpbox" id="fpwiki" style="text-align: center;"><div class="fplinks"> <div class="linkslabel">Help Wiki</div><!-- -->{{FP link|gphelp:Contents|General Help|size=wide}}<!-- -->{{FP link|gphelp:Getting Started|Getting Started|size=wide}}<!-- -->{{FP link|gphelp:Editing pages|Editing pages|size=wide}}<!-- -->{{FP link|gphelp:Starting a new page|New pages|size=wide}}<!-- -->{{FP link|gphelp:Moving a page|Moving pages|size=wide}}<!-- -->{{FP link|gphelp:Basic Images|Basic images|size=wide}}<!-- -->{{FP link|gphelp:Links|Links|size=wide}}<!-- --></div> <div class="fplinks"> <div class="linkslabel">Community</div><!-- -->{{FP link|Special:UserLogin/signup|Register|size=wide}}<!-- -->{{FP link|Project:Community portal|How to help|size=wide}}<!-- --></div> ---- <div class="nomobile"> <div>To write a new article, just enter the article title in the box below or in the search box at the top of the page.</div> <inputbox> type=create break=no </inputbox> ---- <div style="text-align: left;"> * '''Adding content''' ** If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. ** An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. </div> </div> </div><!--END Wiki box--> <noinclude>[[Category:Front page sections]]</noinclude> 1cd920c99589042ccc1d56f888abc96baf378faf 317 316 2017-11-04T04:43:41Z Malvodion 4285 Protected "[[Trailmakers Wiki/Bottom section]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <div class="fpbox" id="fpwiki" style="text-align: center;"><div class="fplinks"> <div class="linkslabel">Help Wiki</div><!-- -->{{FP link|gphelp:Contents|General Help|size=wide}}<!-- -->{{FP link|gphelp:Getting Started|Getting Started|size=wide}}<!-- -->{{FP link|gphelp:Editing pages|Editing pages|size=wide}}<!-- -->{{FP link|gphelp:Starting a new page|New pages|size=wide}}<!-- -->{{FP link|gphelp:Moving a page|Moving pages|size=wide}}<!-- -->{{FP link|gphelp:Basic Images|Basic images|size=wide}}<!-- -->{{FP link|gphelp:Links|Links|size=wide}}<!-- --></div> <div class="fplinks"> <div class="linkslabel">Community</div><!-- -->{{FP link|Special:UserLogin/signup|Register|size=wide}}<!-- -->{{FP link|Project:Community portal|How to help|size=wide}}<!-- --></div> ---- <div class="nomobile"> <div>To write a new article, just enter the article title in the box below or in the search box at the top of the page.</div> <inputbox> type=create break=no </inputbox> ---- <div style="text-align: left;"> * '''Adding content''' ** If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. ** An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. </div> </div> </div><!--END Wiki box--> <noinclude>[[Category:Front page sections]]</noinclude> 1cd920c99589042ccc1d56f888abc96baf378faf Trailmakers Wiki/Flex section 0 47 320 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> * Create a [[How to play guide for {{gamename}}]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v146686933|480||||autoplay=false}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''{{Gamename}}'' Links</div> <div class="fplinks"><!-- -->{{FP link|url=https://www.gamepedia.com|Official page|size=wide}}<!-- -->{{FP link|url=http://www.gamepedia.com|Publisher|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> e5e92b0840364e147dd0c71a4ccdf731c53b7b48 321 320 2017-11-04T04:43:44Z Malvodion 4285 Protected "[[Trailmakers Wiki/Flex section]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> * Create a [[How to play guide for {{gamename}}]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v146686933|480||||autoplay=false}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''{{Gamename}}'' Links</div> <div class="fplinks"><!-- -->{{FP link|url=https://www.gamepedia.com|Official page|size=wide}}<!-- -->{{FP link|url=http://www.gamepedia.com|Publisher|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> e5e92b0840364e147dd0c71a4ccdf731c53b7b48 322 321 2017-11-07T08:56:36Z Malvodion 4285 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:youtube|4-c09USdvO4|500|center}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> f87348aa990193d156f18e7245857c93ae11c6d7 323 322 2017-11-14T21:24:20Z Malvodion 4285 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v188417911|500|center|||autoplay=false}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> 26ad3b11ea94a74e6e362ea3c76b660009139564 324 323 2017-12-19T00:22:51Z Malvodion 4285 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v188417911|500|center|||autoplay=false}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> 59d7a65988376592b8413aa5e46ec31e94df2d71 325 324 2018-03-08T19:28:44Z Kronogenics 397964 Added Discord link wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v188417911|500|center|||autoplay=false}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks">{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> 5d06e5d34b2b6c2ffdda23b1febde75a4251f18f Trailmakers Wiki/Top section 0 48 329 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to ''{{Gamename}}'' Wiki</div> <div>the ''{{Gamename}}'' guide for [[Keyword1]], [[Keyword2]], [[Keyword3]] and more written and maintained by the players.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About {{Gamename}}</div> <div style="text-align: left;"> Add a description of the game which covers topics of interest and has links. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Content </div> <div class="fplinks"><!-- -->{{FP link|Keyword 1}}<!-- -->{{FP link|Keyword 2}}<!-- -->{{FP link|Keyword 3}}<!-- -->{{FP link|Keyword 4}}<!-- --></div> </div><!-- END Heading A box--> <div class="fpbox" id="fpsubjects" style="text-align: center;"><!-- BEGIN Heading B box--> <div class="heading">Heading B</div> <div class="fplinks"><!-- -->{{FP link|Heading B item 1|Display 1}}<!-- -->{{FP link|Heading B item 2|Display 2}}<!-- -->{{FP link|Heading B item 3|Display 3}}<!-- --></div> </div><!-- END Heading B box--> <noinclude>[[Category:Front page sections]]</noinclude> 1aebed36f206c475a1348758d9011ec203f58500 330 329 2017-11-04T04:43:39Z Malvodion 4285 Protected "[[Trailmakers Wiki/Top section]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to ''{{Gamename}}'' Wiki</div> <div>the ''{{Gamename}}'' guide for [[Keyword1]], [[Keyword2]], [[Keyword3]] and more written and maintained by the players.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About {{Gamename}}</div> <div style="text-align: left;"> Add a description of the game which covers topics of interest and has links. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Content </div> <div class="fplinks"><!-- -->{{FP link|Keyword 1}}<!-- -->{{FP link|Keyword 2}}<!-- -->{{FP link|Keyword 3}}<!-- -->{{FP link|Keyword 4}}<!-- --></div> </div><!-- END Heading A box--> <div class="fpbox" id="fpsubjects" style="text-align: center;"><!-- BEGIN Heading B box--> <div class="heading">Heading B</div> <div class="fplinks"><!-- -->{{FP link|Heading B item 1|Display 1}}<!-- -->{{FP link|Heading B item 2|Display 2}}<!-- -->{{FP link|Heading B item 3|Display 3}}<!-- --></div> </div><!-- END Heading B box--> <noinclude>[[Category:Front page sections]]</noinclude> 1aebed36f206c475a1348758d9011ec203f58500 331 330 2017-11-07T09:22:55Z Malvodion 4285 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div> </div><!-- END Heading A box--> <noinclude>[[Category:Front page sections]]</noinclude> 3f1d6f9674c75b119e3585bf59fdb6ae0822d688 332 331 2017-12-19T00:23:50Z Malvodion 4285 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers is scheduled to go into Early Access on Steam in January 31st, 2018. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div> </div><!-- END Heading A box--> <noinclude>[[Category:Front page sections]]</noinclude> c3bd6cbd0ce56a6acfe5ff1297c4ad452f30d978 333 332 2018-03-08T19:31:57Z Kronogenics 397964 Removed scheduled release date wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div> </div><!-- END Heading A box--> <noinclude>[[Category:Front page sections]]</noinclude> 3f1d6f9674c75b119e3585bf59fdb6ae0822d688 Template:= 10 51 346 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <includeonly>=</includeonly><noinclude> {{doc}} [[Category:Formatting templates|{{PAGENAME}}]]<noinclude> 99eb3f6a79bae72aba5c833f64355bcaab9955ea Template:Tlx 10 52 348 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <includeonly><code><nowiki>{{</nowiki>{{#if:{{{subst|}}}|[[wikipedia:Help:Substitution|subst]]:}}[[{{{LANG|}}}{{{SISTER|}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}}| &#124;{{{2}}} }}<!-- -->{{#if:{{{3|}}}| &#124;{{{3}}} }}<!-- -->{{#if:{{{4|}}}| &#124;{{{4}}} }}<!-- -->{{#if:{{{5|}}}| &#124;{{{5}}} }}<!-- -->{{#if:{{{6|}}}| &#124;{{{6}}} }}<!-- -->{{#if:{{{7|}}}| &#124;{{{7}}} }}<!-- -->{{#if:{{{8|}}}| &#124;{{{8}}} }}<!-- -->{{#if:{{{9|}}}| &#124;{{{9}}} }}<!-- -->{{#if:{{{10|}}}| &#124;{{{10}}} }}<!-- -->{{#if:{{{11|}}}| &#124;{{{11}}} }}<!-- -->{{#if:{{{12|}}}| &#124;''...'' }}<nowiki>}}</nowiki></code></includeonly><noinclude>{{doc}}[[Category:Formatting templates]]</noinclude> 512f88acf594469a9b72d004b8d82ec05ac8941c Template:Featured images 10 53 350 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <includeonly><center><slideboxlightshow halign="center" width="250" height="150"> File:GP_Nova.png File:Prof_hydra.png File:Curse col.png File:Curse hydra.png File:Hydra intro 2.png File:Nova wrench.png File:Nova.png </slideboxlightshow></center></includeonly><noinclude>{{doc}}[[Category:Templates]]</noinclude> 3a491f1f658fa184d5fc7a2e88d0fa5f77d9d883 351 350 2017-11-07T08:53:50Z Malvodion 4285 wikitext text/x-wiki <includeonly><center><slideboxlightshow halign="center" width="400" height="250"> File:BUILD-e1501145530202.jpg File:DANGER-e1501145493999.jpg File:MULTIPLAYER-e1501145470328.jpg File:EXPLORE-e1501145369502.jpg File:CREATIVITY-e1501145511200.jpg </slideboxlightshow></center></includeonly><noinclude>{{doc}}[[Category:Templates]]</noinclude> d2a941ad0eca9fc41548c58d299fa3f28e973c75 Template:FP link 10 54 353 2017-11-02T17:27:11Z Maintenance script-gpuser 16641 ⧼default import⧽ wikitext text/x-wiki <onlyinclude><includeonly><div class="fplink plainlinks {{#if:{{{image|}}}|image|}} {{#switch:{{lc:{{{size|}}} }}|wide={{lc:{{{size|}}} }} }}"><div class="box"><div class="row"><div class="cell">{{#if:{{{image|}}} |<div class="image">{{#if:{{{url|}}} | |{{#ifexist:File:{{{image|}}}|[[File:{{{image|}}}|link={{{1|}}}]]|<span class="nomobile">[[File:{{{image|}}}|Please upload 150x150 image]]</span>}} }}</div> |}}<div class="link">{{#if:{{{url|}}} |{{#if:{{{1|}}}|[{{{url}}} {{{1}}}]|[{{{url}}}]}} |{{#if:{{{1|}}}|{{#if:{{{2|}}}|[[{{{1}}}|{{{2}}}]]|[[{{{1}}}]]|}}}} }}</div></div></div></div></div></includeonly></onlyinclude>{{doc}} [[Category:Formatting templates]] d0ff6f96f0db5b51c3462feddeefc760ff3c3256 How to play guide for Trailmakers 0 23 133 2017-11-07T08:47:59Z Malvodion 4285 Created page with "This is a '''How to Play Guide for [[Trailmakers]]'''. Feel free to expand upon it. ==Basic gameplay== ===Controls=== [[Category:Trailmakers]]" wikitext text/x-wiki This is a '''How to Play Guide for [[Trailmakers]]'''. Feel free to expand upon it. ==Basic gameplay== ===Controls=== [[Category:Trailmakers]] b74ae5b94feb9f29b4e1b855dfe444c8d9a33023 134 133 2017-12-19T00:15:38Z Malvodion 4285 wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== ==Controls== ==Tips and tricks== ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] f2c62c285ae17f71f471727132c87f009721c41b 135 134 2018-01-04T16:35:57Z Cheetah 12 397967 /* Basic gameplay */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== ==Controls== The Controls are simple. You can use the mainstream wasd, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] d9d82f669c54448789d51039852729224439c173 136 135 2018-03-08T16:36:21Z Malvodion 4285 wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== ==Controls== The Controls are simple. You can use the mainstream wasd, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Psudo-weight (downforce (spoilers)) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 12729c77d2f46212a485a7e1c7e3497d0dde861e Trailmakers 0 44 290 2017-11-07T09:10:07Z Malvodion 4285 Created page with "[[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate ca..." wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] [[Category:Trailmakers Wiki]] 8cc4e9932e9482b805a6a605a53c3daa7ff6129f 291 290 2017-12-19T00:23:55Z Malvodion 4285 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers is scheduled to go into Early Access on Steam in January 31st, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] [[Category:Trailmakers Wiki]] b3bfe739008eb4f4bf26e4bd51768799e4f2adb1 292 291 2018-03-08T19:34:24Z Kronogenics 397964 Added discord to official links. wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers is scheduled to go into Early Access on Steam in January 31st, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[https://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] b040eee1e15dbefd1f0a3f42ecf9c31546d0da34 Blocks 0 6 6 2017-11-07T09:17:45Z Malvodion 4285 Created page with "{{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you build is made from physical building blocks. Each block has unique features like shape, weigh..." wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. [[Category:Trailmakers]] ddc0062ce613ebe6248394d674d17e03b8f74eab 7 6 2017-11-07T09:21:27Z Malvodion 4285 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. [[Category:Trailmakers]] 380e33b79c059198c4803b2a6738bbaeda3f5232 Building 0 15 69 2017-11-07T09:18:53Z Malvodion 4285 Created page with "{{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constr..." wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! [[Category:Trailmakers]] 19612945c65fd5bc7297b140c9ed118853dac1ef 70 69 2017-11-07T09:21:59Z Malvodion 4285 wikitext text/x-wiki {{Stub}} '''Building''' is a core aspect of [[Trailmakers]]. The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! [[Category:Trailmakers]] 06a1a829cc3f053b6b6c6d83012fe879d98faf2a 71 70 2018-03-08T16:33:55Z Malvodion 4285 wikitext text/x-wiki {{Stub}} '''Building''' is a core aspect of [[Trailmakers]]. The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ==Blueprints== Blueprints are saved built creations in Trailmakers, and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. For more detailed information about this, please visit its main article: [[Blueprints]] [[Category:Trailmakers]] dfb0777b9d58df29dab5afd9f80b01110b9349ee Biomes 0 13 56 2017-11-07T09:19:33Z Malvodion 4285 Created page with "{{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and..." wikitext text/x-wiki {{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. [[Category:Trailmakers]] e3b222d9e8918e6288a6a5add5e7281c756ef9c9 Game Modes 0 20 102 2017-11-07T09:22:23Z Malvodion 4285 Created page with "{{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Expedition== In Expedition Mode, the goal is to journey into the unknown, and get as f..." wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Expedition== In Expedition Mode, the goal is to journey into the unknown, and get as far as you can. You start in an abandoned world with a few building blocks. Build, adjust and rebuild your vehicle. Traverse a BIG world, overcome deep gorges, angry wildlife and all kinds of weather to progress and find new parts that will juice up your rig. The world in Expedition Mode will test your survival skills and ingenuity. With the checkpoint in sight but no wheels and no wings, how do you and your four jet engines get across the canyon? ==Creative== Creative Mode is an unrestricted, sandbox, vehicle-building experience where you can build anything you can dream of and play around with it in the world of Trailmakers. It is a great place to test out crazy machines, and experiment with Trailmaker engineering. With tons of different blocks, hinges, thrusters and interactive vehicle parts - the sky's the limit! [[Category:Trailmakers]] c35ce9f572c3bb12b1057cb1b65af45a4b82e792 103 102 2018-01-04T16:47:23Z Cheetah 12 397967 /* Multi-player */ wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Expedition== In Expedition Mode, the goal is to journey into the unknown, and get as far as you can. You start in an abandoned world with a few building blocks. Build, adjust and rebuild your vehicle. Traverse a BIG world, overcome deep gorges, angry wildlife and all kinds of weather to progress and find new parts that will juice up your rig. The world in Expedition Mode will test your survival skills and ingenuity. With the checkpoint in sight but no wheels and no wings, how do you and your four jet engines get across the canyon? ==Creative== Creative Mode is an unrestricted, sandbox, vehicle-building experience where you can build anything you can dream of and play around with it in the world of Trailmakers. It is a great place to test out crazy machines, and experiment with Trailmaker engineering. With tons of different blocks, hinges, thrusters and interactive vehicle parts - the sky's the limit! == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. ==== Sandbox ==== This mode allows the server to have unlimited power cores, which in turn, means you can have as many engines as you want. ==== PvP ==== [[Category:Trailmakers]] [[Category:Game Modes|https://trailmakers.gamepedia.com/Game_Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} e2129c21885db9dc9acb7baa9ca41563d1c5c535 104 103 2018-01-05T16:11:33Z Cheetah 12 397967 Multi-Player wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Expedition== In Expedition Mode, the goal is to journey into the unknown, and get as far as you can. You start in an abandoned world with a few building blocks. Build, adjust and rebuild your vehicle. Traverse a BIG world, overcome deep gorges, angry wildlife and all kinds of weather to progress and find new parts that will juice up your rig. The world in Expedition Mode will test your survival skills and ingenuity. With the checkpoint in sight but no wheels and no wings, how do you and your four jet engines get across the canyon? ==Creative== Creative Mode is an unrestricted, sandbox, vehicle-building experience where you can build anything you can dream of and play around with it in the world of Trailmakers. It is a great place to test out crazy machines, and experiment with Trailmaker engineering. With tons of different blocks, hinges, thrusters and interactive vehicle parts - the sky's the limit! == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want. Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 0c87baf4292daa8b6f05add163fa2075ea955bd5 System requirements 0 40 254 2017-12-19T00:18:35Z Malvodion 4285 Created page with "{{Stub}} The following are the minimum and recommended '''system requirements''' for [[Trailmakers]]. While these requirements do not represent a guaranteed working configurat..." wikitext text/x-wiki {{Stub}} The following are the minimum and recommended '''system requirements''' for [[Trailmakers]]. While these requirements do not represent a guaranteed working configuration, meeting the minimum requirements should ensure at least a launch-able environment. ==Recommended requirements== ==Minimum requirements== *'''OS:''' Windows 7 64 Bit *'''Processor:''' i5-4440 (3.1 GHz quad-core) *'''Memory:''' 8 GB RAM *'''Graphics:''' GTX 660 *'''DirectX:''' Version 11 *'''Network:''' Broadband Internet connection *'''Storage:''' 5 GB available space ==See also== * [[How to play guide for Trailmakers]] * [[Release date]] [[Category:Guides]] 5327c3d784e4b997374d26762ef518045848706f Release date 0 36 232 2017-12-19T00:22:02Z Malvodion 4285 Created page with "{{Stub}} This page contains the '''release date''' information for [[Trailmakers]]. ==Release date== Trailmakers is scheduled to go into Early Access on Steam in January 31st..." wikitext text/x-wiki {{Stub}} This page contains the '''release date''' information for [[Trailmakers]]. ==Release date== Trailmakers is scheduled to go into Early Access on Steam in January 31st, 2018. ==Release information== The game will cost $20 at launch, with the price "being reviewed" when the Early Access period ends. Before Early Access there will be a free open beta weekend perid between January 11st and January 14th, 2018. ==See also== * [[How to play guide for Trailmakers]] * [[System requirements]] [[Category:Guides]] 085bb815b80da7573b7edbfc54dc3849dcec65e1 233 232 2018-03-08T19:43:39Z Kronogenics 397964 /* Release date */ wikitext text/x-wiki {{Stub}} This page contains the '''release date''' information for [[Trailmakers]]. ==Release date== Trailmakers was released in early access on January 30, 2018. ==Release information== The price of the release game will be reviewed and may be above the early access price. ==See also== * [[How to play guide for Trailmakers]] * [[System requirements]] [[Category:Guides]] 4a02665d13d71e05e6e12ef37c601609b8835291 Blueprints 0 14 62 2018-03-07T19:42:15Z Kronogenics 397964 Created page with "gg" wikitext text/x-wiki gg f3226f91f77a87d909b8920adc91f9a301a7316b 63 62 2018-03-07T19:50:11Z Kronogenics 397964 I created basically the entire page wikitext text/x-wiki Blueprints are saved Trailmakers creations, they are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: Save the image to a known location > in Trailmakers go to the Blueprints section > click the import arrow (depicted as a box with an arrow entering it) > find the file you saved prior and click "open" == Exporting == To export your blueprint and send it to someone else to import follow these steps: In Trailmakers go to the blueprints section > hover over a saved vehicle > click the white box that appears above it (depicted as a box with an arrow leaving it) > save to a known location > send it to someone fffffd3ed31f8545309511634ce7a06acf4b5aed 64 63 2018-03-08T16:32:36Z Malvodion 4285 wikitext text/x-wiki '''Blueprints''' are saved [[Building|built creations]] in [[Trailmakers]], and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: :*Save the image to a known location > :*In Trailmakers go to the Blueprints section > :*Click the import arrow (depicted as a box with an arrow entering it) > :*Find the file you saved prior and click "open". == Exporting == To export your blueprint and send it to someone else to import follow these steps: :*In Trailmakers go to the blueprints section > :*Hover over a saved vehicle > :*Click the white box that appears above it (depicted as a box with an arrow leaving it) > :*Save to a known location > :*Send it to someone. [[Category:Building]] 99c2c1ee90e28e18cb3107a05af31707d8c02059 65 64 2018-03-08T19:53:18Z Kronogenics 397964 Switched to numbers, removed arrows. wikitext text/x-wiki '''Blueprints''' are saved [[Building|built creations]] in [[Trailmakers]], and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: :#Save the image to a known location :#In Trailmakers go to the Blueprints section :#Click the import arrow (depicted as a box with an arrow entering it) :#Find the file you saved prior and click "open". == Exporting == To export your blueprint and send it to someone else to import follow these steps: :#In Trailmakers go to the blueprints section :#Hover over a saved vehicle :#Click the white box that appears above it (depicted as a box with an arrow leaving it) :#Save to a known location :#Send it to someone. [[Category:Building]] 715377439ffd44bc0e3f4e0115f64a82e2f93bb1 66 65 2018-03-08T21:53:15Z Malvodion 4285 wikitext text/x-wiki '''Blueprints''' are saved [[Building|built creations]] in [[Trailmakers]], and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: :#Save the image to a known location :#In Trailmakers go to the Blueprints section :#Click the import arrow (depicted as a box with an arrow entering it) :#Find the file you saved prior and click "open" == Exporting == To export your blueprint and send it to someone else to import follow these steps: :#In Trailmakers go to the blueprints section :#Hover over a saved vehicle :#Click the white box that appears above it (depicted as a box with an arrow leaving it) :#Save to a known location :#Send it to someone [[Category:Building]] 1bbb2f134db2956067bc05f2bca997df1f949097 Trailmakers 0 44 293 292 2018-03-08T21:54:39Z Malvodion 4285 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[https://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 15fb1410d033872cf4873560e07925efbb5f0df8 294 293 2018-03-08T21:55:30Z Malvodion 4285 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] c0c70c831840c5000f46a625610c0a94d27bcd81 295 294 2019-01-23T03:40:22Z MannedTooth 9479 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 65d1c6f8fb4f86b91eb5cdc619feb80cf5a547b6 296 295 2019-10-24T17:13:58Z 5.111.152.176 0 /* External Links */ wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. =='''Features'''== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 7f9a4a78c99520bc40b8f215c3285c3d972d4a78 297 296 2019-10-24T18:27:15Z MannedTooth 9479 Undo revision 392 by [[Special:Contributions/5.111.152.176|5.111.152.176]] ([[User talk:5.111.152.176|talk]]) wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 65d1c6f8fb4f86b91eb5cdc619feb80cf5a547b6 How to play guide for Trailmakers 0 23 137 136 2018-04-22T00:44:37Z Nthjames 396105 Added basic gameplay section recommending the Expedition mode as a starting point. wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles bu applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream wasd, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Psudo-weight (downforce (spoilers)) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 1aaaa56be1559c1dce62e0d403a5cbb0880d09e7 138 137 2018-04-22T00:45:22Z Nthjames 396105 Typo correction wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream wasd, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Psudo-weight (downforce (spoilers)) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 4923657240cbc3cb97c408a12ad4759cb02cca87 139 138 2018-11-01T01:32:11Z 50.5.169.115 0 /* Controls */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the frontooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooofffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * General *# Psudo-weight (downforce (spoilers)) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 18749ebba346b34cf227d70e0228ccced8dea3bb 140 139 2018-11-20T05:39:48Z 175.32.77.77 0 /* Typo */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press b, and the same to get out. ==Tips and tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Psudo-weight (downforce (spoilers)) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] e4e0a556420d3bdc4f3e7a5fa212653e23fe36c8 Blocks 0 6 8 7 2018-04-22T02:40:52Z Nthjames 396105 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Basic Block Types== ==Engine Blocks== ==Mechanical Blocks== ==Aerodynamic Blocks== [[Category:Trailmakers]] ca7ad79af5ea0fa8a6926a09c18ea9fdb9de36c7 9 8 2018-04-22T02:50:57Z Malvodion 4285 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== ===Mechanical blocks=== ===Aerodynamic blocks=== [[Category:Trailmakers]] 1449a7ad5eadac4a9a924a3f4ba232d497d14dd6 10 9 2018-04-22T18:22:32Z Nthjames 396105 /* Engine blocks */Added rough content to Engine block types wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== ===Aerodynamic blocks=== [[Category:Trailmakers]] 28fed546cc7a32310700017e06b6d6dc5611f542 11 10 2018-08-28T18:57:08Z 161.28.82.245 0 /* Block types */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== ===Aerodynamic blocks=== === Logic Blocks === [[Category:Trailmakers]] a3dce5ee2d6a8d3c1b4408cf8588289cb0ffbabc 12 11 2018-08-29T03:56:37Z Rifthunter4 396106 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== Mechanical blocks can move to give functionality to a vehicle. ===Aerodynamic blocks=== Aerodynamic blocks allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 022b8b1f668875d11ebffab34db2bb9a068f1a4b 13 12 2018-08-29T04:21:23Z Rifthunter4 396106 /* Mechanical blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== Aerodynamic blocks allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 1c1bcaf2616132d41d90be3eae59732d445bdfe5 14 13 2018-08-29T04:21:43Z Rifthunter4 396106 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 56df69947dd5009f185979b2b66019dd25b6b9e7 15 14 2018-08-29T13:46:20Z 88.230.226.19 0 /* Engine blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== asdasdasdasdThis type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 123831ccb24a3fde8c587dad741e37961d7fdc7b 16 15 2018-08-29T15:10:03Z 178.133.14.106 0 /* Engine blocks */Fixed typo,removed error wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *Thruster Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 56df69947dd5009f185979b2b66019dd25b6b9e7 17 16 2018-09-25T03:20:44Z TheWaffleDimension 396107 /* Engine blocks */ Linked to Thruster Blocks page. wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 37c5d8206aad97b0657478357db3e67ca702b46f Template:Doc/end 10 163 650 2018-06-07T20:56:34Z TheSatanicSanta 27263 move template documentation styles into stylesheet instead of inline css wikitext text/x-wiki <includeonly></div> <div class="doc-footer"><!-- -->{{#ifeq: {{SUBPAGENAME}} | doc |<!-- --><p style="margin: 0">This is the documentation page, it should be transcluded into the main template page. See [[Template:Doc]] for more information.</p>[[Category:Template documentation|{{BASEPAGENAME}}]] |<!-- --><p class="plainlinks" style="margin: 0">The above documentation is transcluded from [[{{FULLPAGENAME}}/doc]]. <small>([{{fullurl:{{FULLPAGENAME}}/doc|action=edit}} edit] &#124; [{{fullurl:{{FULLPAGENAME}}/doc|action=history}} history])</small></p> }}<!-- --></div></includeonly><noinclude>[[Category:Documentation templates| {{PAGENAME}}]]</noinclude> 5901ae94ecaa54ca3b42da5f7715eb719863acd6 Template:Doc 10 90 648 2018-06-09T23:02:51Z Mr Pie 5 2833 <br> -> <br/> wikitext text/x-wiki <noinclude>{{doc/start}} To use, create a sub-page from the template called '''doc''', put {{tl|doc/start}} at the start of your documentation, and {{tl|doc/end}} at the end. Go back to your main template page and put &lt;noinclude&gt;{{tl|doc}}&lt;/noinclude&gt; on a newline after the end of the template. /doc pages will automatically be added to [[:Category:Template documentation]]. == Optional parameters == === clear === If your main template page has floating content and you would like to stop it going over the documentation, put {{tlx|doc/start|clear}} instead of {{tl|doc/start}} on your documentation page.<br/> This is also useful for templates not using &lt;includeonly&gt;, as it will put some space between the template and the documentation box. === nodoc=1 === If a template has no documentation and you don't know how to use it, put {{tlx|doc/start|nodoc{{=}}1}} (or if the template needs clear as well, {{tlx|doc/start|clear|nodoc{{=}}1}}) instead of {{tl|doc/start}} on your documentation page.<br/> The documentation's background will become red to make it more noticeable, and the page will be added to [[:Category:Templates with no documentation]]. === baddoc=1 === Similar to nodoc, this is used to mark templates that '''do''' have documentation, but it isn't very good. This can mean it doesn't have enough examples, doesn't explain all the functions properly, or doesn't explain the point of the template properly.<br/> The documentation's background will become yellow to make it more noticeable, and the page will be added to [[:Category:Templates with bad documentation]]. If both nodoc and baddoc are specified, baddoc will be ignored. </div> [[Category:Documentation templates| ]] </noinclude><includeonly>{{/doc}}</includeonly> 8ca6cc9837f46dbba5212fef961ef5577203a3e7 Template:Doc/start 10 164 652 2018-06-15T18:59:03Z Game widow 710 wikitext text/x-wiki <includeonly><!-- -->{{#vardefine: nodoc | {{{nodoc}}} }}<!-- -->{{#vardefine: baddoc | {{{baddoc}}} }}<!-- -->{{#if: {{{1|}}} | {{#ifeq: {{SUBPAGENAME}} | doc | | <div style="height: 1em; clear: both; margin-top: 5px;"></div> }} }}<!-- --><div class="doc"> <div class="doc-header"><!-- -->[[File:Template-{{#if: {{{nodoc|}}} | no | {{#if: {{{baddoc|}}} | bad }} }}info.png|50px|bottom|link=]] <span style="font-weight: bold; font-size: 125%;">Documentation</span><!-- --><div class="plainlinks" style="float: right; margin-left: 5px">&#91;[{{fullurl:{{FULLPAGENAME}}|action=purge}} purge]&#93;</div></div><!-- -->{{#if: {{{nodoc|}}} | '''This template has no documentation. If you know how to use this template, please add some.'''<!-- -->{{#ifeq: {{SUBPAGENAME}} | doc | | [[Category:Templates with no documentation|{{BASEPAGENAME}}]]}} |<!-- -->{{#if: {{{baddoc|}}} | '''This template's documentation has been marked as bad. Please improve or add to it.'''<!-- -->{{#ifeq: {{SUBPAGENAME}} | doc | | [[Category:Templates with bad documentation|{{BASEPAGENAME}}]]}}<!-- -->}} }}</includeonly><noinclude>[[Category:Documentation templates| {{PAGENAME}}]]</noinclude> 109c2325259817970f752e7c6d44c7d91164d6c5 Logic Blocks 0 27 161 2018-08-28T19:04:45Z Rifthunter4 396106 Created page with "== Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol repr..." wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 3 types of logic blocks in the game: * AND * OR * XOR Logic Gates function by taking in a number of inputs and providing an output based on the inputs it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. cc68ee360f9e1882030df85be7d1679e64527faa 162 161 2018-08-28T19:18:49Z Rifthunter4 396106 /* Overview */ wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 3 types of logic blocks in the game: * AND * OR * XOR Logic Gates function by taking in a number of inputs and providing an output based on the inputs it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== The AND Gate takes a number of inputs and only places a Green value on its output if all of the inputs are not 0. ==== OR Gate ==== The OR Gate takes a number of inputs and will place a Green value on its output if any of the inputs are not 0. ==== XOR Gate ==== The XOR Gate takes a number of inputs and will place a Green value on its output if each input has a unique value. ==== Connecting Inputs and Outputs ==== To connect a block to a logic block as an input, the logic block must be enabled in that block's settings. This will link the output from that block to the logic block. To connect a logic block's output to another block, go to the logic block's settings and enable the check box for that block. 077b1f77ba6c416afb645bbd2bfb0a342522223f 163 162 2018-08-29T04:18:09Z Rifthunter4 396106 wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== The AND Gate only produces its output if all of the inputs are not zero. Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. ==== OR Gate ==== The OR Gate only produces its output if any of it inputs are not zero. Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. ==== XOR Gate ==== The XOR Gate only produces output if exactly one input is not zero. Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. ==== Distance Sensor ==== The Distance Sensor send output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 3bd89970e13397e7708449cb8a245d869e430313 164 163 2018-08-29T04:25:01Z Rifthunter4 396106 wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. ==== Distance Sensor ==== * The Distance Sensor send output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 62348215a599c80058019a0797330abdedf169cd 165 164 2018-09-25T03:28:34Z TheWaffleDimension 396107 /* XOR Gate */ Added disclaimer for differences between game and real-world logic. wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor send output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 83314fb6617f63fc59d660b1c937dea5aea56135 166 165 2018-09-25T03:32:40Z TheWaffleDimension 396107 /* Tips */ Fixed grammar wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor send output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 61c5e0c5daa76dca3275075a8412d99100627958 167 166 2019-08-19T22:35:38Z 68.193.38.77 0 /* Distance Sensor */ wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 59d556bb072d13f7fcf86144d384a4b2266825ed Thruster Blocks 0 43 264 2018-09-25T03:16:09Z TheWaffleDimension 396107 Created page, included my findings on the power-to-weight ratios and lifting power of each engine. wikitext text/x-wiki == Thruster Blocks == There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet * Propeller (?) * Underwater Propeller (?) === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each (jet) thruster engine can lift, and by association, the weight-to-power ratio of those engines. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg |} He determined the weight-to-power ratio of the (jet) thruster engines to be approximately 0.35701112 kg/power. 3253ec20d02c722c48bd07748b6d846e082eadc4 265 264 2018-09-25T03:17:10Z TheWaffleDimension 396107 Removed redundant header wikitext text/x-wiki There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet * Propeller (?) * Underwater Propeller (?) === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each (jet) thruster engine can lift, and by association, the weight-to-power ratio of those engines. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg |} He determined the weight-to-power ratio of the (jet) thruster engines to be approximately 0.35701112 kg/power. a7b3d30e2817f34c18920ac104b3201134512814 266 265 2018-09-25T03:18:59Z TheWaffleDimension 396107 Marked as stub wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet * Propeller (?) * Underwater Propeller (?) === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each (jet) thruster engine can lift, and by association, the weight-to-power ratio of those engines. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg |} He determined the weight-to-power ratio of the (jet) thruster engines to be approximately 0.35701112 kg/power. 87630634aba56ca06991ef97030d35c5fa575456 267 266 2018-10-11T02:20:28Z Jeebus Quade 397979 Added number for propeller, proofread and edited the end of the page for more precise wording. wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet * Propeller (?) * Underwater Propeller (?) === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg (230 engine power) |- |Propeller |71.4kg (200 engine power) |} 1bc44b75543945060b9065f4ac4c1d2485d7166c Wheels 0 50 338 2018-10-11T07:13:23Z Maake986 86789 Created page with "'''Wheels''' are blocks that are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be..." wikitext text/x-wiki '''Wheels''' are blocks that are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater Right now in the 0.7.0 update we have medium selection of wheels. -Normal Wheel -Racing Wheel -Slim Wheel -Go-kart Wheel -Drag racing Wheel -Monster Wheel -Truck Wheel -Spiked Wheel THIS PAGE IS Work In Progresss af4e049f80d56f994858c0228cf7971538084392 339 338 2018-10-11T12:32:07Z Maake986 86789 Added list of wheels and picture wikitext text/x-wiki '''Wheels''' are blocks that are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 8 different wheels in the game (0.7.0) * Normal Wheel * Racing Wheel * Monster Truck Wheel * Go-kart Wheel * Slim Wheel * Drag Racing Wheel * Truck Wheel * Spiked Wheel [[File:All 8 wheels.jpg|center|frameless|900x900px]] 6157fd370bc132f93a5cbe73ad00d6fbe344b44b 340 339 2018-10-11T13:49:09Z Fake sms 397981 I added the wheel´s stats wikitext text/x-wiki '''Wheels''' are blocks that are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 8 different wheels in the game (0.7.0) * Normal Wheel * Racing Wheel * Monster Truck Wheel * Go-kart Wheel * Slim Wheel * Drag Racing Wheel * Truck Wheel * Spiked Wheel[[File:All 8 wheels.jpg|center|frameless|900x900px]]Each wheel has different traction, max speed,acceleration and resistance: * The <u>Normal Wheel</u> has intermediate stats has a decent traction on dirt,tarmac and bridges but slipps on mud. * The <u>Racing Wheel</u> has a higher top speed,acceleration and has more traction on tarmac and bridges,but drifts on dirt and slides on mud. * The <u>Monster Truck Wheel</u> is slower and heavier than the previous wheels but is has more traction on dirt thus less traction on tarmac.It is also the biggest wheel in the game. * The <u>Go-Kart Wheel</u> is the smallest in the game, it has bad stats neither good speed or traction, but its the lightest wheel of all. * The <u>Slim Wheel</u> is a classic looking wheel,it has better speed and acceleration that it sounds like but its very fragile and hasnt got very good traction,its slightly less grippy than the normal wheel. * The <u>Drag Wheel</u> is a bigger racing wheel,It has the best traction on tarmac,but it needs power to move it as it is very heavy; has the best max speed. * The <u>Truck Wheel</u> has good traction on dirt but its less grippy on tarmac and specially bridges,but as the game itself says,its not made for speed. * The <u>Spiked Wheel</u> is a modified normal wheel that has better traction,but slightly less speed. 9cbbbe8af218e9e0e5f8cfeae217e7638c4c2f76 341 340 2019-01-23T03:40:49Z MannedTooth 9479 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 8 different wheels in the game (0.7.0) * Normal Wheel * Racing Wheel * Monster Truck Wheel * Go-kart Wheel * Slim Wheel * Drag Racing Wheel * Truck Wheel * Spiked Wheel[[File:All 8 wheels.jpg|center|frameless|900x900px]]Each wheel has different traction, max speed,acceleration and resistance: * The <u>Normal Wheel</u> has intermediate stats has a decent traction on dirt,tarmac and bridges but slipps on mud. * The <u>Racing Wheel</u> has a higher top speed,acceleration and has more traction on tarmac and bridges,but drifts on dirt and slides on mud. * The <u>Monster Truck Wheel</u> is slower and heavier than the previous wheels but is has more traction on dirt thus less traction on tarmac.It is also the biggest wheel in the game. * The <u>Go-Kart Wheel</u> is the smallest in the game, it has bad stats neither good speed or traction, but its the lightest wheel of all. * The <u>Slim Wheel</u> is a classic looking wheel,it has better speed and acceleration that it sounds like but its very fragile and hasnt got very good traction,its slightly less grippy than the normal wheel. * The <u>Drag Wheel</u> is a bigger racing wheel,It has the best traction on tarmac,but it needs power to move it as it is very heavy; has the best max speed. * The <u>Truck Wheel</u> has good traction on dirt but its less grippy on tarmac and specially bridges,but as the game itself says,its not made for speed. * The <u>Spiked Wheel</u> is a modified normal wheel that has better traction,but slightly less speed. 648204ba345f024b8275da8a2935951ef02264b5 Test (class) 0 42 262 261 2019-01-23T03:39:20Z MannedTooth 9479 wikitext text/x-wiki This is just a test page to showcase the usage of {{Tlx|DisambigMsg}}. [[Category:Notice templates|DisambigMsg]] 6fea560241e0ecb6514dce689df42c15dbc6583f Test (achievement) 0 41 259 258 2019-01-23T03:39:22Z MannedTooth 9479 wikitext text/x-wiki This is just a test page to showcase the usage of {{Tlx|DisambigMsg}}. [[Category:Notice templates|DisambigMsg]] 6fea560241e0ecb6514dce689df42c15dbc6583f Release date 0 36 234 233 2019-09-30T08:18:50Z 69.230.84.27 0 Updated release info to better fit the release date. wikitext text/x-wiki {{Stub}} This page contains the '''release date''' information for [[Trailmakers]]. ==Release date== Trailmakers was released in early access on January 30, 2018. It was later fully released on September 18, 2019. ==Release information== The full game costs a total of $25.00USD (€22.28) and expanded on the physics engine, released the [[Campaign]] [[Game Modes|gamemode]] to the public, and added several minor improvements. ==See also== * [[How to play guide for Trailmakers]] * [[System requirements]] [[Category:Guides]] 122f51bf07f75fed80a07d39cc6a9880b7029a06 Game Modes 0 20 105 104 2019-09-30T08:22:35Z 69.230.84.27 0 Replaced Expedition with Campaign Mode. wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. ==Creative== Creative Mode is an unrestricted, sandbox, vehicle-building experience where you can build anything you can dream of and play around with it in the world of Trailmakers. It is a great place to test out crazy machines, and experiment with Trailmaker engineering. With tons of different blocks, hinges, thrusters and interactive vehicle parts - the sky's the limit! == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want. Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 304cf415ef5f514363993d9ca3341635dd23a282 Mechanical Blocks 0 28 171 2020-02-29T06:04:18Z 114.108.236.254 0 yes wikitext text/x-wiki bruh why 0b507fef3627cb85719a21579d4e2671f6fc51c5 172 171 2020-02-29T06:08:05Z 114.108.236.254 0 information wikitext text/x-wiki Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. why am i doing this hello i like hetalia 9c6528059907d8ee8ac20b4e09b73a45c6cef2c5 173 172 2020-02-29T06:11:20Z 114.108.236.254 0 info wikitext text/x-wiki Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. ebb5fa3815923316f5acfd7a34c13d48774256d7 Aerodynamic Blocks 0 12 47 2020-02-29T06:14:16Z 114.108.236.254 0 Created page with "[[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs." wikitext text/x-wiki [[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs. 98635409fbe468536c543de71b4a87107941cfe0 48 47 2020-02-29T06:28:32Z 114.108.236.254 0 info yes? wikitext text/x-wiki [[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs. <nowiki>[[secret]]</nowiki> fe7d19d6872c9fc23fc4734d34e2bb0dae2015fb 49 48 2020-02-29T06:29:24Z 114.108.236.254 0 jkjj wikitext text/x-wiki [[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs. [[Secret|Secret Hee]] bdbe351ae74f1c744c4a01aca4f42b205a43353c 50 49 2020-02-29T06:30:55Z 114.108.236.254 0 d wikitext text/x-wiki [[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs. 98635409fbe468536c543de71b4a87107941cfe0 Power cores 0 31 195 2020-02-29T06:17:33Z 114.108.236.254 0 Created page with "[[Power Cores]] will appear when you place [[Propulsion blocks]]" wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] cc5f6ebbea9f36188cc7bbee68571898c456b6c4 Propulsion Blocks 0 33 213 2020-02-29T06:19:19Z 114.108.236.254 0 Created page with "[[Propulsion Blocks]] are [[blocks]] that moves your vehicle." wikitext text/x-wiki [[Propulsion Blocks]] are [[blocks]] that moves your vehicle. c8476f3bc8662f688c9052bbeefd9c0eb96b3da1 Trailmakers 0 44 298 297 2020-02-29T06:32:18Z 114.108.236.254 0 Informaton and external links. wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] *[[Secret hee|Secret]] [[Category:Trailmakers Wiki]] 021f3b20195b0b07b5ccfbe5a39616d859ae70ef 299 298 2020-02-29T06:33:42Z 114.108.236.254 0 mn wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] *[[Secret]] [[Category:Trailmakers Wiki]] 23ab8c6aa9507ecb1b46e166fc45e2de02eb0d1b 300 299 2020-03-20T01:05:49Z MannedTooth 9479 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 65d1c6f8fb4f86b91eb5cdc619feb80cf5a547b6 301 300 2020-05-18T15:29:45Z Wagnike2 16625 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===Multiplayer=== Trailmakers is even more fun if you play it with a friend. Put two seats in your vehicle or race each other towards that last jet engine - it is up to you. Both Creative and Expedition Mode support multiplayer. ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 9c24e6fdba7cc4ba1d1a9e1348ca21d4bb49f140 302 301 2021-01-09T21:01:41Z 108.167.87.79 0 /* Multiplayer */ wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. ===you just have to poop=== <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 602c81d50da022b6af143c793d86e68ae0f415d1 303 302 2021-01-10T16:29:25Z 99.255.103.22 0 /* you just have to poop */ wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations. ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 4d954cea34252eadbd1ee54c2c84c5c825821b17 304 303 2021-01-26T11:59:47Z 84.217.55.13 0 /* Mod Support */ wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] f918f447454c01eff113059b62d5cd08cc947473 305 304 2021-11-27T04:45:53Z 205.123.96.2 0 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] aa73088234358f4381294f040f44db2322365968 Biomes 0 13 57 56 2020-03-28T18:38:29Z 213.21.112.218 0 Added a little bit of text wikitext text/x-wiki {{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. Trailmakers contains a variety of biomes. [[Category:Trailmakers]] 68472979b11255efe39527b3af10b07c53ad95b0 Thruster Blocks 0 43 268 267 2020-03-28T18:47:02Z 213.21.112.218 0 /* Power */ wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg (230 engine power) |- |Propeller |71.4kg (200 engine power) |} 15bc808eb5513295d612ff731e815512ba7f7a88 269 268 2020-03-28T18:48:27Z 213.21.112.218 0 /* Power */ wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg (230 engine power) |} 8c35eaa9a0760cc7cba482c107b2f3881e7cd1d5 270 269 2020-08-18T09:08:34Z 124.189.247.7 0 /* Power */ wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg (230 engine power) |} 340ab569881423f765011361df04dfbd29c5c2a1 271 270 2021-05-14T16:55:59Z Axolotol711 86875 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) ! Engine Power |- | Mini-Thruster | 28.6kg | |- | Dragon Jet Engine | 106.7kg | 300 |- | RAW Jet Engine | 268.4kg | 750 |- | Gimbal Jet | 82.4kg | 230 |} b1e9330e43f1afd8665e9aebb641b2ece10609ec 272 271 2021-05-14T17:00:40Z Axolotol711 86875 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg (230 engine power) |} 139e8e27098ac2d3581c37ecea9440bfd9f46172 273 272 2021-06-02T22:11:58Z 69.242.35.50 0 /* Power */ wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 82.4kg |} 706a935deaeffdbe0899fe1402a6aa53b8708b29 274 273 2021-08-06T03:29:30Z 104.166.205.138 0 Gimbal Jet thrust accuracy changed. wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} ac84f7843bf07ec87499afa0a22cbee2d1200969 275 274 2021-08-06T03:32:27Z 104.166.205.138 0 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: * Mini-Thruster * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is 0.012727 gimbal power per kilogram. e8d721feb5c01cbe5617a2d4c85a64698b671271 276 275 2021-12-13T19:13:10Z Kitenofs 397974 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is 0.012727 gimbal power per kilogram. 43bb115ac699f449d8e19ef87f7bdbc197ac5253 Blocks 0 6 18 17 2020-03-28T18:49:19Z 213.21.112.218 0 /* Engine blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *Propeller Blocks <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 6573f64ff47f8448a5d3730dd1953fd69e865586 19 18 2020-03-28T19:03:47Z 213.21.112.218 0 /* Engine blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Engine blocks=== This type of block provides power or thrust to your vehicle. Some types of engine blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 22bc0004dddbea2237e927567c7e083da3c56e3e Propeller Blocks 0 32 201 2020-03-28T19:01:20Z 213.21.112.218 0 Added page "Propeller Blocks" wikitext text/x-wiki == Propeller Blocks == Propeller Blocks are propulsion blocks. They are a sort of thruster blocks, but they behave in a different way. There are two subcategories of propeller blocks: === Pre-made propeller blocks === There are two pre-made propeller blocks: * Propeller * Underwater Propeller These two blocks give propulsion through rotating. The normal Propeller can be used in airplanes etc. and the Underwater Propeller may be used in boats, submarines etc. === Other propeller blocks === There are also two types of "other" propeller blocks. They are: ' Helicopter Engine * Helicopter Engine v2 The difference between the two different helicopter engines is that the "normal" one has a rotating top, while the "v2" has a static top. These engines are often used as rotational engines, as a Helicopter engine without blades will try to spin the creatinon around itself. 39610dbe58c904967b1ac95e18791d27bec0fdbb 202 201 2020-03-28T19:01:54Z 213.21.112.218 0 /* Other propeller blocks */ wikitext text/x-wiki == Propeller Blocks == Propeller Blocks are propulsion blocks. They are a sort of thruster blocks, but they behave in a different way. There are two subcategories of propeller blocks: === Pre-made propeller blocks === There are two pre-made propeller blocks: * Propeller * Underwater Propeller These two blocks give propulsion through rotating. The normal Propeller can be used in airplanes etc. and the Underwater Propeller may be used in boats, submarines etc. === Other propeller blocks === There are also two types of "other" propeller blocks. They are: * Helicopter Engine * Helicopter Engine v2 The difference between the two different helicopter engines is that the "normal" one has a rotating top, while the "v2" has a static top. These engines are often used as rotational engines, as a Helicopter engine without blades will try to spin the creatinon around itself. 8ad24b4d944b3ea5490dba12d151b5ab932ce1e4 203 202 2020-11-03T04:08:04Z 81.230.60.87 0 /* Other propeller blocks */ wikitext text/x-wiki == Propeller Blocks == Propeller Blocks are propulsion blocks. They are a sort of thruster blocks, but they behave in a different way. There are two subcategories of propeller blocks: === Pre-made propeller blocks === There are two pre-made propeller blocks: * Propeller * Underwater Propeller These two blocks give propulsion through rotating. The normal Propeller can be used in airplanes etc. and the Underwater Propeller may be used in boats, submarines etc. === Other propeller blocks === There are also two types of "other" propeller blocks. They are: * Helicopter Engine * Helicopter Engine v2 The difference between the two different helicopter engines is that the "normal" one has a rotating top, while the "v2" has a static top. These engines are often used as rotational engines, as a Helicopter engine without blades will try to spin the creation around itself. "Note" All of this is outdated 047f8c8eacd4d4644c03d981da7bb4ee769d61bf 204 203 2020-12-24T05:44:41Z 216.248.82.140 0 /* Other propeller blocks */ wikitext text/x-wiki == Propeller Blocks == Propeller Blocks are propulsion blocks. They are a sort of thruster blocks, but they behave in a different way. There are two subcategories of propeller blocks: === Pre-made propeller blocks === There are two pre-made propeller blocks: * Propeller * Underwater Propeller These two blocks give propulsion through rotating. The normal Propeller can be used in airplanes etc. and the Underwater Propeller may be used in boats, submarines etc. === Other propeller blocks === There are also two types of "other" propeller blocks. They are: * Helicopter Engine * Helicopter Engine v2 The difference between the two different helicopter engines is that the "normal" one has a rotating top, while the "v2" has a static top. These engines are often used as rotational engines, as a Helicopter engine without blades will try to spin the creation around itself. Each engine can carry about 197.5 kg. "Note" All of this is outdated c572e58599f1d5900c11d3b0cc4a24169c84e223 205 204 2021-05-20T08:01:38Z 68.96.204.117 0 /* Propeller Blocks */ wikitext text/x-wiki "Note" All of this is outdated 92822c14160750d799365309243f6a343ecb2b6c Aerodynamic Blocks 0 12 51 50 2020-04-26T19:59:00Z 92.21.202.33 0 wikitext text/x-wiki [[Aerodynamic Blocks]] are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds. f84f8dc73fa24eb39106a13a1cba3a7d30ba40d9 Trailmakers Wiki/Flex section 0 47 326 325 2020-06-09T15:40:39Z Pcjbot 2660 Fixing Twitch autoplay wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Videos box--> <div class="heading">Videos</div> <div class="fpvideos"> <div class="fpvideo">{{#ev:twitchvod|v188417911|500|center|||}}</div> </div> </div><!--END Videos box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks">{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> 2bb76d323e0038efe627dae99e0904696f8390ea 327 326 2021-09-04T00:52:48Z Wagnike2 16625 Removing non-functioning video section. wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks">{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> d28ecd8749e251342bcf8bea7796e913780dc693 Power cores 0 31 196 195 2020-07-04T12:45:49Z SuperNova ReImgn 397976 Expanded on power core ratings, their importance in Stranded in Space, and the Power Core reqs of each block, as well as power core reqs of leagues (unfinished) wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] as an indicator of the power of your vehicle. Propulsion blocks are not the only block that require Power Cores, as gadgets such as the Electromagnet and Cannons require them as well. In the Racing gamemode, vehicles are rated based on the amount of cores they use. Vehicles with similar amount of cores are put into their respective leagues for each race, such that different leagues have different leaderboards for each racetrack. {| class="wikitable" |+Power Core Leagues !League !Power Cores ! ! |- |Bionic League |0 | | |- |Gokart League |1 | | |- | |2-5 | | |} In the Stranded in Space Campaign gamemode, Power Cores serve as a limiting factor to the power of your vehicle. You have a limited amount of power cores to use, which can be increased by collecting certain scrap found around the map. Each propulsion block has a power core requirement, which differs depending on the power of the block. {| class="wikitable" |+Engine Block Power Core Requirements !Block !Power Core Requirement |- |Bulldog Engine |1 |- |RAW Engine |2 |- |Dragon Engine |3 |- |Mini Thruster |1 |- |RAW Thruster |2 |- |Dragon Thruster |3 |- |Gimbal Jet |1 |- |Hover Block |1 |- |Helicopter Engine V1 |1 |- |Helicopter Engine V2 |1 |} Many of the gadgets also require power cores to function. {| class="wikitable" |+ !Block !Power Core Requirement |- |Electromagnet |1 |- |Small Cannon |1 |- |Large Cannon |3 |- |Tank Cannon |3 |- |Dynamite |1 |} 59f4a3d52ee0bef1e9123472d5df6b98315ad744 Wheels 0 50 342 341 2020-10-10T07:31:00Z Scespi 397982 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 8 different wheels in the game (0.7.0) * Normal Wheel * Racing Wheel * Monster Truck Wheel * Go-kart Wheel * Slim Wheel * Drag Racing Wheel * Truck Wheel * Spiked Wheel[[File:All 8 wheels.jpg|center|frameless|900x900px]]Each wheel has different traction, max speed,acceleration and resistance: * The <u>Normal Wheel</u> has intermediate stats has a decent traction on dirt,tarmac and bridges but slipps on mud. * The <u>Racing Wheel</u> has a higher top speed,acceleration and has more traction on tarmac and bridges,but drifts on dirt and slides on mud. * The <u>Monster Truck Wheel</u> is slower and heavier than the previous wheels but is has more traction on dirt thus less traction on tarmac.It is also the biggest wheel in the game. * The <u>Go-Kart Wheel</u> is the smallest in the game, it has bad stats neither good speed or traction, but its the lightest wheel of all. * The <u>Slim Wheel</u> is a classic looking wheel,it has better speed and acceleration that it sounds like but its very fragile and hasnt got very good traction,its slightly less grippy than the normal wheel. * The <u>Drag Wheel</u> is a bigger racing wheel,It has the best traction on tarmac,but it needs power to move it as it is very heavy; has the best max speed. * The <u>Truck Wheel</u> has good traction on dirt but its less grippy on tarmac and specially bridges,but as the game itself says,its not made for speed. * The <u>Spiked Wheel</u> is a modified normal wheel that has better traction,but slightly less speed.it has 8 wheels that are very cool Spiked wheels is coolest c0644a2c809931b0e88961e7797726603d03d4d6 343 342 2021-08-07T05:15:16Z CerebralCortexDiscord 116307 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 10 different wheels in the game. *<u>Offroad Wheel</u> - ''"Slightly better traction on rough terrain than on tarmac."'' The starter wheels in the campaign. They are a medium sized wheel with solid performance on grass/sand/etc. However, they will struggle in mud. It weighs 10kg. *<u>Racing Wheel</u> - ''"Better grip on tarmac than rough terrain."'' A medium sized wheel that performs particularly for staying on paved surfaces but falters in offroad terrain. It weighs 10kg. *<u>Monster Truck Wheel</u> - ''"Large and heavy wheel with good overall grip."'' The largest of all wheels and by far the heaviest. The best wheel in terms of control in mud and offroad terrain, however, it is offset by the fact it will immensely slow a vehicle down due to the weight, friction, and poor aerodynamics. It weighs 25kg. *<u>Go-kart Wheel</u> *<u>Slim Wheel</u> - ''"Relatively poor grip and speed, but very light weight."'' A medium sized and thin wheel with atrociously bad control, especially in offroad terrain. Despite its description, it is by far the fastest wheel due to its light weight, aerodynamics, and lack of friction, making it excellent for vehicles that don't need to turn much on the ground (such as drag racers or planes that require runways). It weighs 1.5kg. *<u>Drag Racing Wheel</u> - ''"Large wheel with better grip on tarmac than rough terrain."'' An enormous wheel that's size is only surpassed by the Monster Truck Wheel. It has the best grip of all wheels on paved surfaces and thus does not easily come off the ground or lose control when turning on its intended surface. Despite its name, in terms of speed it's terrible, as it will slow a vehicle down due to the heavy weight and friction. It weighs 20kg. *<u>Truck Wheel</u> - ''"Large wheel with good overall grip."'' A large wheel that performs well on offroad terrain. Not nearly as large or heavy as the Monster Truck Wheel and thus, will not slow a vehicle down as much. While it performs better than most wheels in the mud, it will still suffer from some lack of control. It weighs 15kg. *<u>Spiked Wheel</u> - ''"Good grip on rough terrain."'' A medium sized wheel with spikes embedded into it. Has excellent grip in offroad terrain, keeping lighter vehicles grounded when driving offroad while only suffering a slight loss in speed compared to the offroad wheels. However, they still perform poorly in mud. An excellent replacement for the offroad wheels if you favor control over speed. It weighs 10kg. *<u>Motorcycle Wheel</u> - ''"A rad wheel for your hog. Average grip on all surfaces."'' A medium sized thin wheel with decent control. A very fast wheel that, unlike the Slim Wheel, has some measure of control. In comparison to dedicated offroad/tarmac wheels however, it's flighty and can easily lose control when turning. It weights 7.5kg *<u>Ski</u> - ''"For gliding."'' Not technically a wheel, but still placed under the category. It very easily slides across the ground. Unlike tires, it does not make use of an engine nor does it rotate, and so it requires another form of propulsion (such as a thruster) in order to make use of it. It weighs 0.2kg. <br /> b38839cdf875715ff3aa4fbeac03ee7d9bce3615 How to play guide for Trailmakers 0 23 141 140 2020-12-11T16:45:32Z 108.2.107.61 0 /* Tips and tricks */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 2acad48d0fa404b15057b791782ae998f066155d 142 141 2020-12-19T09:53:28Z 86.149.112.67 0 /* Control */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won’t fall over *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 40f7576542725a29d553a424b8afa29b93255d90 143 142 2021-03-23T23:24:04Z 47.28.124.61 0 /* Controls */ wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of ch ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won’t fall over *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] eea92fb4fed2891d9d78baf99356be952a6dac28 144 143 2021-12-21T07:51:58Z Paladin Aladin 37223 Undo revision 447 by [[Special:Contributions/47.28.124.61|47.28.124.61]] ([[User talk:47.28.124.61|talk]]) - even their inbetween might be a method to change keybindings, its better to have this text instead of nothing but a cropped fragment wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== The best way to get started is to enter the single player Expedition mode and begin your journey. In Expedition mode you will be taught the basics of construction and gradually be challenged to solve navigation puzzles by applying and expanding the principles you have been taught. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won’t fall over *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 40f7576542725a29d553a424b8afa29b93255d90 Blueprints 0 14 67 66 2021-01-03T07:44:31Z 87.145.73.99 0 /* Importing */ wikitext text/x-wiki '''Blueprints''' are saved [[Building|built creations]] in [[Trailmakers]], and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: :#Save the image to a known location :#In Trailmakers go to the Blueprints section :#Click the import arrow (depicted as a box with an arrow entering it) :#Find the file you saved prior and click "open" == Exporting == To export your blueprint and send it to someone else to import follow these steps: :# :#Hover over a saved vehicle :#Click the white box that appears above it (depicted as a box with an arrow leaving it) :#Save to a known location :#Send it to someone [[Category:Building]] a129c6a8a498ac7ebb1609c2ea480173e3b89223 Game Modes 0 20 106 105 2021-01-23T19:37:00Z 89.246.120.69 0 /* Sandbox */ wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. ==Creative== Creative Mode is an unrestricted, sandbox, vehicle-building experience where you can build anything you can dream of and play around with it in the world of Trailmakers. It is a great place to test out crazy machines, and experiment with Trailmaker engineering. With tons of different blocks, hinges, thrusters and interactive vehicle parts - the sky's the limit! == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want. Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} c32b3bbf540bf52344ff955220d9ecb2646b71d9 107 106 2021-12-27T08:09:44Z SilvrrGaming 397968 /* Creative */ wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want. Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} de71b2f414e70ef96d76de7240d46606174f2dfe 108 107 2021-12-27T08:11:34Z SilvrrGaming 397968 /* Sandbox */ wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want (broken). Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} b3ebdc6ad643c3be7698317f65731d2a8914ab4d System requirements 0 40 255 254 2021-06-02T22:09:39Z 69.242.35.50 0 /* Recommended requirements */ wikitext text/x-wiki {{Stub}} The following are the minimum and recommended '''system requirements''' for [[Trailmakers]]. While these requirements do not represent a guaranteed working configuration, meeting the minimum requirements should ensure at least a launch-able environment. ==Recommended requirements== * OS: Windows 10 64 Bit * Processor: i7-7700K * Memory: 16 GB RAM * Graphics: GTX 1080 * Network: Broadband Internet connection * Storage: 10 GB available space ==Minimum requirements== *'''OS:''' Windows 7 64 Bit *'''Processor:''' i5-4440 (3.1 GHz quad-core) *'''Memory:''' 8 GB RAM *'''Graphics:''' GTX 660 *'''DirectX:''' Version 11 *'''Network:''' Broadband Internet connection *'''Storage:''' 6 GB available space ==See also== * [[How to play guide for Trailmakers]] * [[Release date]] [[Category:Guides]] 5ccbd0ce74578fc4a86dc3870688596d4fc26315 256 255 2021-06-03T00:30:34Z Malvodion 4285 wikitext text/x-wiki {{Stub}} The following are the minimum and recommended '''system requirements''' for [[Trailmakers]]. While these requirements do not represent a guaranteed working configuration, meeting the minimum requirements should ensure at least a launch-able environment. ==Recommended requirements== *'''OS:''' Windows 10 64 Bit *'''Processor:''' i7-7700K *'''Memory:''' 16 GB RAM *'''Graphics:''' GTX 1080 *'''Network:''' Broadband Internet connection *'''Storage:''' 10 GB available space ==Minimum requirements== *'''OS:''' Windows 7 64 Bit *'''Processor:''' i5-4440 (3.1 GHz quad-core) *'''Memory:''' 8 GB RAM *'''Graphics:''' GTX 660 *'''DirectX:''' Version 11 *'''Network:''' Broadband Internet connection *'''Storage:''' 6 GB available space ==See also== * [[How to play guide for Trailmakers]] * [[Release date]] [[Category:Guides]] f9df533240205144e627105dfbd8945c9076be94 Logic Blocks 0 27 168 167 2021-09-16T21:05:44Z Deojee 397973 /* OR Gate */ wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. == How Logic Gates Work == There are 4 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. The output of a logic gate is *not* the output you specify in the editor while building. The output of the gates is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." This means both AND Gates and OR Gates can output values of zero. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. *Example 2: An AND Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the AND gate outputs nothing. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. *Example 2: An OR Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the OR gate outputs nothing. *Note that, like the other gates, the output of the OR Gate is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 94da4ed88bacdb63f92535e1564fefccf37a95b1 Trailmakers Wiki 0 45 314 313 2021-10-19T12:55:57Z Encredechine 17946 wikitext text/x-wiki <!-- TO EDIT MAIN PAGE CONTENT, see "Templates used on this page" below and edit: * {{SITENAME}}/Top section * {{SITENAME}}/Flex section * {{SITENAME}}/Bottom section This is a basic responsive front page design that adapts to the available width of the browser by rearranging the sections themselves as well as content within each section. When narrow, the three sections line up vertically in a single column. When wide enough, the middle (flex) section is pulled out to become a right column. Much of the layout and appearance is determined through styles defined in these pages: * MediaWiki:Common.css (for the desktop view) * MediaWiki:Mobile.css (for the mobile view) --> <div id="fp-2column" class="fp-container"> <div id="fp-top" class="fp-section"> {{:{{SITENAME}}/Top section}} </div> <div id="fp-flex" class="fp-section"> {{:{{SITENAME}}/Flex section}} </div> <div id="fp-bottom" class="fp-section"> {{:{{SITENAME}}/Bottom section}} </div> </div> <div class="nomobile" style="text-align: right; margin-right: 10px;"><small>Main page sections: [[{{SITENAME}}/Top section|Top]] &#183; [[{{SITENAME}}/Flex section|Flex]] &#183; [[{{SITENAME}}/Bottom section|Bottom]]. Changes for the main page can be proposed [[Talk:{{SITENAME}}|here]]. </small></div> <metadesc>The official community maintained wiki resource for Trailmakers!</metadesc> __NOTITLE__ [[Category:{{SITENAME}}| ]] 63dbdad7171c7cd3e29d7b777a7bb8a15d80f127 Template:FP link 10 54 354 353 2021-10-19T12:56:33Z Encredechine 17946 template update wikitext text/x-wiki <onlyinclude><includeonly><div class="fplink-outer plainlinks {{#switch:{{lc:{{{width|}}}}}|wide=fplink-wide|full=fplink-fullwidth}}"> <div class="fplink {{#switch:{{{plain|}}}|yes|true|1=fplink-plain}}"> {{#if:{{{image|}}}|<div class="fplink-inner {{#ifexist:Media:{{{image|}}}||nomobile}}">{{#ifexist:Media:{{{image|}}} |[[File:{{{image|}}}|150x150px|link={{#if:{{{url|}}} |{{{url|}}} |{{{1|}}} }}]] |[[File:{{{image|}}}|Please upload an image]] }} </div> }}{{#switch:{{#if:{{{image|}}}|{{{imageonly|}}}|}} |yes|true|1= |#default=<div class="fplink-inner">{{#if:{{{url|}}} |{{#if:{{{1|}}} |[{{{url}}} {{{1}}}] |[{{{url}}}] }} |{{#if:{{{1|}}} |{{#if:{{{2|}}} |[[{{{1}}}|{{{2}}}]] |[[{{{1}}}]] }} }} }} </div> }} </div> </div></includeonly></onlyinclude><noinclude> {{doc}} [[Category:Formatting templates]] </noinclude> 67bd26fe1a69f0d4c18c57aced87b1872d5a2194 Trailmakers Wiki/Top section 0 48 334 333 2021-10-19T13:01:00Z Encredechine 17946 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div> </div><!-- END Heading A box--><noinclude>[[Category:Front page sections]]</noinclude> d9f1e78e3358e620ad0585537d2d3bd6b4d8e709 Trailmakers Wiki/Bottom section 0 46 318 317 2021-10-19T13:01:48Z Encredechine 17946 section update wikitext text/x-wiki <div class="fpbox mobilecollapsible expanded" id="fpwiki" style="text-align: center;"> <div class="heading mobileonly mobileleft">Wiki</div> <div class="body"> <div class="linkslabel">Help Wiki</div> <div class="fplinks"><!-- -->{{FP link|gphelp:Contents|General Help|size=wide}}<!-- -->{{FP link|gphelp:Getting Started|Getting Started|size=wide}}<!-- -->{{FP link|gphelp:Editing pages|Editing pages|size=wide}}<!-- -->{{FP link|gphelp:Starting a new page|New pages|size=wide}}<!-- -->{{FP link|gphelp:Moving a page|Moving pages|size=wide}}<!-- -->{{FP link|gphelp:Basic images|Basic images|size=wide}}<!-- -->{{FP link|gphelp:Links|Links|size=wide}}<!-- --></div> <div class="linkslabel">Community</div> <div class="fplinks"><!-- -->{{FP link|Special:UserLogin/signup|Register|size=wide}}<!-- -->{{FP link|Project:Community portal|How to help|size=wide}}<!-- --></div> ---- <div class="nomobile"> <div>To write a new article, just enter the article title in the box below or in the search box at the top of the page.</div> <inputbox> type=create break=no </inputbox> ---- <div style="text-align: left;"> * '''Adding content''' ** If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. ** An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. </div> </div> </div> </div><!--END Wiki box--><noinclude>[[Category:Front page sections]]</noinclude> 48f4ba82d798cc74a1b2d81344c6dce51519949e Main Page 0 1 1 2021-11-29T15:17:56Z MediaWiki default 0 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 5702e4d5fd9173246331a889294caf01a3ad3706 Mini-Thuster 0 29 177 2021-12-13T19:07:13Z Kitenofs 397974 Created page with "== Mini-Thruster == {| class="fandom-table" |+ !Powercores | | | |- !Engine power | | | |- !Engine power | | | |- | | | | |}" wikitext text/x-wiki == Mini-Thruster == {| class="fandom-table" |+ !Powercores | | | |- !Engine power | | | |- !Engine power | | | |- | | | | |} dfab85cc1a7dd8915623d007d459ddd96d60a01c 178 177 2021-12-13T19:12:09Z Kitenofs 397974 /* Mini-Thruster */ wikitext text/x-wiki == Mini-Thruster == (This page is unfinished) {| class="fandom-table" |+ |- !Weight | colspan="3" | |- !Powercores | colspan="3" |1 |- !Engine power | colspan="3" | |} 1a8a6de60b576099612a19b9369e2bec79dfb3f4 179 178 2021-12-13T19:14:03Z Kitenofs 397974 /* Mini-Thruster */ wikitext text/x-wiki == Mini-Thruster == (This page is unfinished) {| class="fandom-table" |+ |- !Weight | colspan="3" | |- ![[Power cores]] | colspan="3" |1 |- !Engine power | colspan="3" | |} f76dfe30969d0181a9dc76cbbbb31602e77dbd30 Propeller Blocks 0 32 206 205 2022-01-06T17:47:25Z 188.228.84.176 0 Adding categories wikitext text/x-wiki "Note" All of this is outdated [[Category:Hhhhhh]] c65dc803fa861a63cca425318b53cece8f743f3e Blocks 0 6 20 19 2022-01-18T16:01:45Z ChaoticEnergy08 396108 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Propulson blocks=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] 5b8f5e26dcf80d0249d6b07924488a1381a17390 21 20 2022-01-18T16:02:04Z ChaoticEnergy08 396108 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===Propulsion blocks=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===Mechanical blocks=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===Aerodynamic blocks=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === Logic Blocks === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] b37dd13e5435ac86cafb24e45dcb557f0df81b1e 22 21 2022-03-09T05:25:42Z Tuyeriuy 396109 /* Aerodynamic blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== [[Mechanical Blocks]] can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== [[Aerodynamic Blocks]] allow air to pass around them more easily, resulting in higher top speeds. === [[Logic Blocks]] === [[Logic Blocks]] provide output when certain logical conditions are met. [[Category:Trailmakers]] d7bede3761c04d7badbf7c3e982f455b862c16b2 23 22 2022-03-09T05:27:05Z Tuyeriuy 396109 /* Aerodynamic blocks */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *Engine Blocks *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === [[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 7e593e3ddc1258779b5d4047b7f4202a1665cd33 24 23 2022-05-27T15:44:21Z 80.219.174.6 0 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *Engine Blocks *Hover Blocks *[[Mini-Thuster|Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === [[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] bc314c8b37ab4c8172acf4f1f4365be65e13006d 25 24 2022-09-11T07:45:56Z 185.243.187.121 0 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Everything you [[Building|build]] is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *Hover Blocks *[[Mini-Thuster|Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 7160112a600271187db0670300b4003552a392af 26 25 2022-12-02T16:31:45Z 99.16.86.19 0 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *Hover Blocks *[[Mini-Thuster|Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 5c52844959a50dfb71e5641e0691ead0e27e24d5 27 26 2023-04-03T18:55:24Z RowanBee 396110 fixed the thruster blocks link wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *Hover Blocks *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 95acd257bcc62d579094c6d4bf986ce820352ba0 Power cores 0 31 197 196 2022-01-18T16:03:58Z ChaoticEnergy08 396108 wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] as an indicator of the power of your vehicle. Propulsion blocks are not the only block that require Power Cores, as gadgets such as the Tractor Beam and Cannons require them as well. In the Racing gamemode, vehicles are rated based on the amount of cores they use. Vehicles with similar amount of cores are put into their respective leagues for each race, such that different leagues have different leaderboards for each racetrack. {| class="wikitable" |+Power Core Leagues !League !Power Cores ! ! |- |Bionic League |0 | | |- |Gokart League |1 | | |- | |2-5 | | |} In the Stranded in Space Campaign gamemode, Power Cores serve as a limiting factor to the power of your vehicle. You have a limited amount of power cores to use, which can be increased by collecting certain scrap found around the map. Each propulsion block has a power core requirement, which differs depending on the power of the block. {| class="wikitable" |+Engine Block Power Core Requirements !Block !Power Core Requirement |- |Bulldog Engine |1 |- |RAW Engine |2 |- |Dragon Engine |3 |- |Mini Thruster |1 |- |RAW Thruster |2 |- |Dragon Thruster |3 |- |Gimbal Jet |1 |- |Hover Block |1 |- |Helicopter Engine V1 |1 |- |Helicopter Engine V2 |1 |} Many of the gadgets also require power cores to function. {| class="wikitable" |+ !Block !Power Core Requirement |- |Electromagnet |1 |- |Small Cannon |1 |- |Large Cannon |3 |- |Tank Cannon |3 |- |Dynamite |1 |} 9b5a2221d9ea9524063b9cd16624c8fa6aaacd66 198 197 2022-10-24T22:38:53Z Randomness777 397977 wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] as an indicator of the power of your vehicle. Propulsion blocks are not the only block that require Power Cores, as gadgets such as the Tractor Beam and Cannons require them as well. In the Racing gamemode, vehicles are rated based on the amount of cores they use. Vehicles with similar amount of cores are put into their respective leagues for each race, such that different leagues have different leaderboards for each racetrack. {| class="wikitable" |+Power Core Leagues !League !Power Cores ! ! |- |Bionic League |0 | | |- |Gokart League |1 | | |- | |2-5 | | |} In the Stranded in Space Campaign gamemode, Power Cores serve as a limiting factor to the power of your vehicle. You have a limited amount of power cores to use, which can be increased by collecting certain scrap found around the map. Each propulsion block has a power core requirement, which differs depending on the power of the block. {| class="wikitable" |+Engine Block Power Core Requirements !Block !Power Core Requirement |- |Bulldog Engine |1 |- |RAW Engine |2 |- |Dragon Engine |3 |- |Mini Thruster |1 |- |RAW Thruster |2 |- |Dragon Thruster |3 |- |Gimbal Jet |1 |- |Hover Block |1 |- |Helicopter Engine V1 |1 |- |Helicopter Engine V2 |1 |} Many of the gadgets also require power cores to function. {| class="wikitable" |+ !Block !Power Core Requirement |- |Tractor Beam |1 |- |Small Cannon |1 |- |Large Cannon |3 |- |Tank Cannon |3 |- |Dynamite |1 |} 43f3dde789a8f5d5b9e0534e8912a9ec26277b2d Game Modes 0 20 109 108 2022-02-05T05:11:19Z 185.7.230.31 0 Removed "(broken)" as that is an opinion and uninformative. wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. == Multi-player == There are two modes in Multi-player. The first is Sandbox mode, and the next is the PvP mode. When customizing the server, you have loads of options. There are two different maps at this point. The first one ==== Sandbox ==== This mode allows the server to have unlimited power cores, and the ability to build whatever you want. Just be careful how big your creations are because the bigger they are the laggier the game is. ==== PvP ==== PvP is the place where you get to test out your creations. You can battle others in the fight for time and the specter bolt. The person who holds the bolt the longest wins. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} de71b2f414e70ef96d76de7240d46606174f2dfe 110 109 2022-05-02T13:20:33Z FlashbulbMikkel 397969 I updated the text to reflect which game modes are available & describe them. wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather salvage from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, Fly into a volcano, the world is your oyster in this open-ended survival adventure. <br /> == Campaign Mode: Rally == Learn the basics of racing in Trailmakers. You will learn how to build various kinds of vehicles, and steadily take on more challenges as you progress in this campaign. Once you've completed the campaign, take on the global leaderboards against the worldwide community of Trailmakers! <br /> == Campaign: High Seas (DLC) == High Seas is the first expansion for Trailmakers, in which you play on a sandbox map with expanded physics - there's wind, weather and waves to contend with, as you try to find all the collectible artifacts and treasure chests. <br /> == Race Island == Compete with your friends in Time Trials, or to become the top player on our global leaderboards! == Sandbox Maps == There are currently 4 sandbox maps you can play in with your friends in Trailmakers: '''Treasure Island''' You can solve treasure hunts and play your own way on Treasure Island. '''Danger Zone''' Live out your daredevil daydreams on the Danger Zone map, and pull off stunts on the ramps, halfpipes and other obstacles! '''Test Zone''' If you're looking for a blank slate to build your creations in, this is the map for you. Challenge yourself and your friends in an environment free of obstacles. '''High Seas''' Test your mettle as sailors in the first expansion to Trailmakers, or challenge your piloting skills against the winds on the High Seas. == Multiplayer == Trailmakers can (at the time of writing) be played by up to four players in multiplayer in all modes but Rally. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 8a6c81685195d69a958e68b5283b6b55401b58ad 111 110 2022-10-23T15:11:39Z Acecerak of Almanach 397970 wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather [[salvage]] from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, fly into a volcano, the world is your oyster in this open-ended survival adventure. <br /> == Campaign Mode: Rally == Learn the basics of racing in Trailmakers. You will learn how to build various kinds of vehicles, and steadily take on more challenges as you progress in this campaign. Once you've completed the campaign, take on the global leaderboards against the worldwide community of Trailmakers! <br /> == Campaign: High Seas (DLC) == High Seas is the first expansion for Trailmakers, in which you play on a sandbox map with expanded physics - there's wind, weather and waves to contend with, as you try to find all the collectible artifacts and treasure chests. <br /> == Race Island == Compete with your friends in Time Trials, or to become the top player on our global leaderboards! == Sandbox Maps == There are currently 4 sandbox maps you can play in with your friends in Trailmakers: * '''Treasure Island''' You can solve treasure hunts and play your own way on Treasure Island. * '''Danger Zone''' Live out your daredevil daydreams on the Danger Zone map, and pull off stunts on the ramps, halfpipes and other obstacles! * '''Test Zone''' If you're looking for a blank slate to build your creations in, this is the map for you. Challenge yourself and your friends in an environment free of obstacles. * '''High Seas''' Test your mettle as sailors in the first expansion to Trailmakers, or challenge your piloting skills against the winds on the High Seas. == Multiplayer == Trailmakers can (at the time of writing) be played by up to four players in multiplayer in all modes but Rally. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 72f6d62c8dd1f2785f3e4020ebd82e07728696d6 Template:Doc 10 90 431 2022-02-14T14:41:06Z {{Infocard}}>Westgrass 0 {{language info}} en=? wikitext text/x-wiki <includeonly><!-- // localization info is autoloaded from Template:Doc/l10n --><div class="documentation"><!-- --><div class="documentation_header"><!-- -->[[File:Template-{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|{{#if:{{{baddoc|}}}|bad}}|no}}info.svg|50px|link=]] <!-- --><span style="font-weight: bold; font-size: 125%; margin-right: 10px;">{{l10n|doc|documentation}}</span> <!-- -->{{#ifeq:{{SUBPAGENAME}}|{{l10n|doc|doc_subpage}}|<!--nothing-->|<!-- -->{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|<!-- --><span style="font-size: 90%; font-style: italic;"><!-- -->{{l10n|doc|text<!-- -->|$page$=[[{{ns:Template}}:{{ucfirst:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}]]<!-- -->|$edit$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=edit|text={{l10n|doc|edit}}}}<!-- -->|$history$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=history|text={{l10n|doc|history}}}}<!-- -->}}<!-- --></span><!-- -->}}<!-- -->}}<!-- --><div style="float: right; margin-left: 5px;"><!-- -->[{{fullurl|{{FULLPAGENAMEE}}|action=purge|text={{l10n|doc|purge}}}}]<!-- --></div><!-- --></div><!-- -->{{#if:{{l10n|doc|direct_to_en}}|{{dablink|{{l10n|doc|direct_to_en|$link_to_en$=[[:en:Template:{{PAGENAME}}|Template:{{PAGENAME}}]]}}}}}}<!-- leave line break here --> <!-- -->{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|<!-- -->{{#if:{{{baddoc|}}}|<!-- -->{{doc/baddoc message|issues={{{baddoc}}}}}<!-- -->{{Category|{{l10n|doc|cate_baddoc}}}}<!-- -->}}<!-- leave line break here --> <!-- -->{{Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|{{{1|}}}}}<!-- -->|<!-- -->{{l10n|doc|createdoc_text<!-- -->|$link$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=edit|preload=Template:Doc/preload|text={{l10n|doc|createdoc_linktext}}}}<!-- -->}}<!-- -->{{Category|{{l10n|doc|cate_nodoc}}}}<!-- -->}}<!-- leave line break here --> <!-- --><div style="margin: 15px 0 0 0"><!-- -->{{#ifeq:{{SUBPAGENAME}}|{{l10n|doc|doc_subpage}}|<!-- -->{{#ifeq:{{BASEPAGENAME}}|Doc|<!--nothing-->|<!-- only if page is not Template:Doc -->{{l10n|doc|thisisdoc_text}}<!-- -->{{Category|{{l10n|doc|cate_doctemplates}}|{{BASEPAGENAME}}}}{{Category|{{l10n|doc|cate_baddoc}}}}<!-- -->}}<!-- -->}}<!-- --></div><!-- --></div><!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Template documentation| }} {{language info|en=Template:Doc}} </noinclude> 7c4216044658c20334742e9592c2fddadb81759f Template:Infocard/initOptions 10 82 415 2022-02-22T16:20:56Z {{Infocard}}>Westgrass 0 wikitext text/x-wiki <includeonly><!-- -->{{options/init|infocard<!-- -->|key:size=250px<!-- -->|alias:cardsize=size<!-- -->|alias:minicardsize=size<!-- -->|key:class=<!-- -->|key:css=<!-- -->|alias:style=css<!-- -->|key:color=<!-- -->|key:theme=<!-- -->|key:box-css=<!-- -->|alias:box-style=box-css<!-- -->|key:box-class=<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{options subtemplate}} {{language info|en=Template:Infocard/initOptions}} </noinclude> be81a52038015af290e88061f13056213182a26c How to play guide for Trailmakers 0 23 145 144 2022-05-02T13:03:23Z FlashbulbMikkel 397969 wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== You can either start by playing the Stranded in Space campaign, or the Rally campaign. In Stranded in Space, you need to collect salvage from around the map to unlock blocks, in order to build a rocket to escape the planet on which you've crashlanded. In Rally, you will learn to build various kinds of vehicles, and race them. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy then their less traction based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal) this is due to how they are evaluated by the physics engine * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won’t fall over *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 4e940f7b05264a92c187164079f590464f4af427 Template:Extension DPL 10 2 387 2022-07-08T20:11:27Z {{Infocard}}>Rye Greenwood 0 Made the description clearer. The term "anchor page" alone doesn't explain what the point of this template is. wikitext text/x-wiki <noinclude>This template is automatically transcluded whenever [[mw:Extension:DynamicPageList|Extension:DynamicPageList (DPL)]] is invoked, although it does not produce any output. Its sole purpose is to provide a list of pages that invoke DPL: [[Special:WhatLinksHere/Template:Extension DPL]]. [[Category:Extension templates]] {{language info|en=Template:Extension DPL}} </noinclude> 3995efc84e0abd076c5700bb83788f1e3390642e 2 2022-12-18T00:55:51Z DynamicPageList3 extension 44285 Autogenerated DPL's necessary template for content inclusion wikitext text/x-wiki <noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].</noinclude> 087ffd4625ae7b1fea3436ec3f929e82ee739d29 Template:Transform 10 86 423 2022-08-09T02:59:05Z {{Infocard}}>Rye Greenwood 0 Moved template categorization here from documentation subtemplate. wikitext text/x-wiki <includeonly><!-- // assemble a string of transformations by iterating over all parameters in order -->{{#vardefine:transform:style|<!-- -->{{#forargs:|parametername|parametervalue|<!-- -->{{#switch:{{#var:parametername}}<!-- -->|flip= scaleY(-1)<!-- -->|mirror= scaleX(-1)<!-- -->|rotation= rotate({{#var:parametervalue}}deg)<!-- -->|scale= scale({{#var:parametervalue}},{{#var:parametervalue}})<!-- -->}}<!-- -->}}<!-- -->}}<!-- // output --><div style="{{{style|}}}; display: {{{display|inline-block}}}; -moz-transform: {{#var:transform:style}}; -ms-transform: {{#var:transform:style}}; -o-transform: {{#var:transform:style}}; -webkit-transform: {{#var:transform:style}}; transform: {{#var:transform:style}}">{{{1}}}</div><!-- --></includeonly><noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:Transform}} </noinclude> 7ef19129fe94dc16aca965453bf6dec4a7aa8160 Thruster Blocks 0 43 277 276 2022-08-15T09:40:31Z 139.218.117.199 0 Nothing much wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is 0.012727 gimbal power per kilogram. 5f2cb1fa7620960e894f1fd52dabee3aca9b7882 278 277 2023-01-11T19:20:31Z 99.27.71.74 0 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimble jet and set it to the value that the function is outputting. aeb15a1471cf5ee38296b8012c6084cabce99d9d 279 278 2023-02-20T02:33:49Z 73.248.105.235 0 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimble jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" 18c0539121c22eed556e03124a044aae4df54bc3 280 279 2023-02-20T02:41:36Z 73.248.105.235 0 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * Dragon Jet Engine * RAW Jet Engine * Gimbal Jet === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet Engine | 300 |- | RAW Jet Engine | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet Engine | 106.7kg |- | RAW Jet Engine | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimble jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating, it has doubled cooling meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two mini-thrusters. 2e18461041b1c197582020c6aca1ce68c29560d4 Mini-Thuster 0 29 180 179 2022-09-11T07:23:04Z 185.243.187.121 0 wikitext text/x-wiki == Mini-Thruster == (This page is unfinished) {| class="fandom-table" |+ |- !Weight | colspan="3" |9.4 kg |- ![[Power cores]] | colspan="3" |1 |- !Engine power | colspan="3" |333 |} 1c889d54a3fa3651ade78aa15fbf9275d0a7f6c0 181 180 2022-09-11T07:25:26Z 185.243.187.121 0 wikitext text/x-wiki == Mini-Thruster == (This page is unfinished) {| class="fandom-table" |+ |- !Weight | colspan="3" |9.8 kg |- ![[Power cores]] | colspan="3" |1 |- !Engine power | colspan="3" |80 |} bdf82578e5e1adaa4c2c36ee4ae087a52e034f75 182 181 2023-04-03T18:47:57Z RowanBee 396110 Added more thrusters wikitext text/x-wiki == Mini-Thruster == {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} A small and cheap jet engine with low thrust. == RAW Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} A very powerful jet engine with a cooldown. == Dragon Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} A very powerful jet engine that does not overheat. == Gimbal Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} A jet that always fires downwards. 38ca1353e1ca1ac4713bec1ceb6cc5d107a31991 183 182 2023-04-03T18:54:41Z RowanBee 396110 noticed that the "thruster blocks" link in blocks links here, didnt know there was a proper page wikitext text/x-wiki == Mini-Thruster == {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} A small and cheap jet engine with low thrust. 3d35373c72f47b0a2402426b771a4e0d63cdec33 Engine Blocks 0 18 83 2022-09-11T07:43:14Z 185.243.187.121 0 Created page with "==Bulldawg-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration, low maximum velocity ==RAW-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration, high maximum velocity ==Dragonengine== {| class="wikitable" |+ Engine Data |- | Power Cores || 3 |- | Weight || 25..." wikitext text/x-wiki ==Bulldawg-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration, low maximum velocity ==RAW-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration, high maximum velocity ==Dragonengine== {| class="wikitable" |+ Engine Data |- | Power Cores || 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} High acceleration, high maximum velocity 396a225ba205feb61db52b4979369a1e485574b7 84 83 2022-11-02T20:11:33Z 85.164.46.55 0 I fixed a spelling isue wikitext text/x-wiki ==Bulldawg-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration, low maximum velocity ==RAW-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration, high maximum velocity ==Dragon engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} High acceleration, high maximum velocity 5256f2c6c6c63a997574111804c010f80c8cd6a5 85 84 2022-11-02T20:12:16Z 85.164.46.55 0 wikitext text/x-wiki ==Bulldawg-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration, low maximum velocity ==RAW-Engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration, high maximum velocity ==Dragon- engine== {| class="wikitable" |+ Engine Data |- | Power Cores || 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} High acceleration, high maximum velocity 8a5ea8766189b34ad56827bff3299978a2b915c0 86 85 2023-04-03T18:49:27Z RowanBee 396110 Spelling and formatting wikitext text/x-wiki ==Bulldawg Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration. Low top speed. ==RAW Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration. High top speed. ==Dragon Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} High acceleration. High top speed. 847099ab0ae6cc6f458ca3e73646db440b07984b Template:Options/autodoc 10 91 433 2022-10-16T15:27:56Z {{Infocard}}>Rye Greenwood 0 +spaces so the syntax highlighters don't get confused wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:options_namespace|{{#or:{{{1|}}}|{{lcfirst:{{ROOTPAGENAME}}}}}}}}<!-- "Chance" for "Template:Chance/doc" -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|yes}}<!-- -->{{#ifeq:{{NAMESPACENUMBER}}|10| {{ {{#var:options_namespace}}/initOptions}} }}<!-- autoload -->{{#ifeq:{{SUBPAGENAME}}|initOptions|| This template supports options through {{tl|options}} template. All valid options are listed below, see {{tl|options}} for usage and other infomation. See [[Template:{{#var:options_namespace}}/initOptions]] for the initial options setting of this template. }} <table class="wikitable"><!-- --><tr><th>Name</th><th>Alias</th><th>Initial Value</th><th>Value Mapping<ref>Values with mapping will be stored and loaded as mapped value. Other values without mapping will be stored and loaded as-is.</ref></th><th>Note</th></tr><!-- -->{{#arrayprint:optionsKeys:{{#var:options_namespace}}||@@@@|<!-- --><tr>{{#var:optionsDoc:@@@@}}</td><td>{{{note_@@@@|}}}</td></tr><!-- -->}}</table><!-- -->{{reflist}}<!-- --></includeonly><noinclude> Used to auto gen document for options. See {{tl|options}} for more info. See [[Template:Chance/doc]] for example. {{language info|en=Template:Options/autodoc}} </noinclude> 50851aea3140d88c92e4dc64b71803a242b76603 Salvage 0 38 242 2022-10-23T14:30:21Z Acecerak of Almanach 397970 Created page with "Salvages are entities, which can be collected in the Campaign. They are collected by transporting one to any Recovery Drone, which can be found all over the world." wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign. They are collected by transporting one to any Recovery Drone, which can be found all over the world. 3eccb3f9790b43b2e8553ca0f3620e3090a3a388 243 242 2022-10-23T15:05:49Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block !Location !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |} Powercores can be found here: {| class="fandom-table" |+ !Location !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} f65fac73eff94359b475010e81e09c698fccaed6 244 243 2022-10-23T15:08:09Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 73737ceec753ffd584d08a2c255736078ff147ed 245 244 2022-10-24T17:37:04Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ! |- |Medium Sphere | |- |Large Sphere | |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 29fc8c5fef69213a72d0967e1208215157c96292 246 245 2022-10-24T17:46:11Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 622632b9347273ed1c2d210e564c280a22fcd7b9 247 246 2022-10-25T08:07:03Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |- |Tube 1 x 1 |Pine Island |66m |- |Tube 1 x 3 |Pine Island |73m |- |Tube 1 x 8 |Pine Island |69m |- |Tube Tee |Pine Island |68m |- |Tube Cross |Pine Island |58m |- |Tube Double Tee |Pine Island |84m |- |Tube Double Cross |Pine Island |86m |- |Tube Slope 1 x 1 x 2 |Pine Island |88m |- |Tube Tee Cross |Pine Island |84m |- |Cockpit |Pine Island |77m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 1992af14322526132c1e308d6e2e3a9a3cbde142 248 247 2022-10-25T08:45:26Z Acecerak of Almanach 397970 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |- |Gimbal Jet |Eye of Karoo | -22m |- |Block 4 x 8 |Eye of Karoo |74m |- |Block 1 x 3 |Eye of Karoo |64m |- |Tube 1 x 1 |Pine Island |66m |- |Tube 1 x 3 |Pine Island |73m |- |Tube 1 x 8 |Pine Island |69m |- |Tube Tee |Pine Island |68m |- |Tube Cross |Pine Island |58m |- |Tube Double Tee |Pine Island |84m |- |Tube Double Cross |Pine Island |86m |- |Tube Slope 1 x 1 x 2 |Pine Island |88m |- |Tube Tee Cross |Pine Island |84m |- |Cockpit |Pine Island |77m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 451132eb26f01826ec9d209fdb5d71a23aa80189 249 248 2023-01-25T20:05:27Z 100.40.17.178 0 Shavba wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive shababshSphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |- |Gimbal Jet |Eye of Karoo | -22m |- |Block 4 x 8 |Eye of Karoo |74m |- |Block 1 x 3 |Eye of Karoo |64m |- |Tube 1 x 1 |Pine Island |66m |- |Tube 1 x 3 |Pine Island |73m |- |Tube 1 x 8 |Pine Island |69m |- |Tube Tee |Pine Island |68m |- |Tube Cross |Pine Island |58m |- |Tube Double Tee |Pine Island |84m |- |Tube Double Cross |Pine Island |86m |- |Tube Slope 1 x 1 x 2 |Pine Island |88m |- |Tube Tee Cross |Pine Island |84m |- |Cockpit |Pine Island |77m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 8a3508f6d5c2f9c695ba55e60bb7b76fe559934f 250 249 2023-01-27T04:28:17Z 122.58.90.49 0 wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |- |Gimbal Jet |Eye of Karoo | -22m |- |Block 4 x 8 |Eye of Karoo |74m |- |Block 1 x 3 |Eye of Karoo |64m |- |Tube 1 x 1 |Pine Island |66m |- |Tube 1 x 3 |Pine Island |73m |- |Tube 1 x 8 |Pine Island |69m |- |Tube Tee |Pine Island |68m |- |Tube Cross |Pine Island |58m |- |Tube Double Tee |Pine Island |84m |- |Tube Double Cross |Pine Island |86m |- |Tube Slope 1 x 1 x 2 |Pine Island |88m |- |Tube Tee Cross |Pine Island |84m |- |Cockpit |Pine Island |77m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 451132eb26f01826ec9d209fdb5d71a23aa80189 Locations 0 26 156 2022-10-23T14:31:52Z Acecerak of Almanach 397970 Created page with "Locations in the [[Game Modes]] Stranded in Space include: * Bullet list The Pillows Launchpad Landing Site Forest Plateau Deepwood Lake Lapis Rosewood Eye of Karoo Brownwood The Reef Tiny Island Paddle Island Buoy Island Magnet Island Dive Island Treasure Pine Island Pine High Desert Gate The Cravasse Dry High The Volcano Fire Tubs Howling Peaks The Slides The Murks Spike Wood Bogwood Dragon Lake" wikitext text/x-wiki Locations in the [[Game Modes]] Stranded in Space include: * Bullet list The Pillows Launchpad Landing Site Forest Plateau Deepwood Lake Lapis Rosewood Eye of Karoo Brownwood The Reef Tiny Island Paddle Island Buoy Island Magnet Island Dive Island Treasure Pine Island Pine High Desert Gate The Cravasse Dry High The Volcano Fire Tubs Howling Peaks The Slides The Murks Spike Wood Bogwood Dragon Lake c11fd243d6936453a7dc5ce9783562080edba9be 157 156 2022-10-23T14:34:47Z Acecerak of Almanach 397970 wikitext text/x-wiki Locations in the [[Game Modes]] Stranded in Space include: * Bullet list *The Pillows *Launchpad *Landing Site *Forest Plateau *Deepwood *Lake Lapis *Rosewood *Eye of Karoo *Brownwood *The Reef *Tiny Island *Paddle Island *Buoy Island *Magnet Island *Dive Island *Treasure Island *Pine Island *Pine High *Desert Gate *The Cravasse *Dry High *The Volcano *Fire Tubs *Howling Peaks *The Slides *The Murks *Spike Wood *Bogwood *Dragon Lake 57ac1b3326f0f10fd3e8fd9066c6f045458a34f8 158 157 2022-10-23T14:49:35Z Acecerak of Almanach 397970 wikitext text/x-wiki Locations in the [[Game Modes]] Stranded in Space include: *The Pillows *Launchpad *Landing Site *Forest Plateau *Deepwood *Lake Lapis *Rosewood *Eye of Karoo *Brownwood *The Reef *Tiny Island *Paddle Island *Buoy Island *Magnet Island *Dive Island *Treasure Island *Pine Island *Pine High *Desert Gate *The Cravasse *Dry High *The Volcano *Fire Tubs *Howling Peaks *The Slides *The Murks *Spike Wood *Bogwood *Dragon Lake 94ed89322a201e5a183280a43a0285b9e9be276a 159 158 2022-10-23T15:09:45Z Acecerak of Almanach 397970 wikitext text/x-wiki Locations in the [[Game Modes|Gamemode]] 'Stranded in Space' include: *The Pillows *Launchpad *Landing Site *Forest Plateau *Deepwood *Lake Lapis *Rosewood *Eye of Karoo *Brownwood *The Reef *Tiny Island *Paddle Island *Buoy Island *Magnet Island *Dive Island *Treasure Island *Pine Island *Pine High *Desert Gate *The Cravasse *Dry High *The Volcano *Fire Tubs *Howling Peaks *The Slides *The Murks *Spike Wood *Bogwood *Dragon Lake bfdf3241c004f1c05acf21cde23f16657a3d3688 Template:( 10 66 379 2022-11-17T10:17:40Z {{Infocard}}>Westgrass 0 wikitext text/x-wiki {{<noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:(}} </noinclude> 2f2d2587b4eda12c8c6ff378c98c2edbd64e92d9 Template:) 10 67 381 2022-11-17T10:18:16Z {{Infocard}}>Westgrass 0 wikitext text/x-wiki }}<noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:)}} </noinclude> 5e249e98c325a5e3f9025504b811d5dc23480722 Template:Reflist 10 78 407 2023-03-10T15:06:07Z {{Infocard}}>Rye Greenwood 0 Updated from Wikipedia; should be fully backwards-compatible, i.e. no changes in usage. No longer styles the list via inline list-style-type, instead adds a class and the respective styling is done by CSS. Also replaced inline styling from {{column-width}} and {{column-count}} by CSS as well. wikitext text/x-wiki <div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }} <!-- -->{{#if:{{{css|{{{style|}}}}}}|style="{{{css|{{{style|}}}}}}"}}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div><noinclude> {{doc}} {{category|Extension templates}} {{language info|en=Template:Reflist}} </noinclude> d7391d0b0cc941a0a8276d71f36ebbb71f838726 Dragon Jet 0 17 75 2023-04-03T18:57:13Z RowanBee 396110 Created page with "== Dragon Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} A very powerful jet engine that does not overheat." wikitext text/x-wiki == Dragon Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} A very powerful jet engine that does not overheat. 43c47ef036de2178c5f1ec6889f64eb8b1ca7800 RAW Jet 0 34 218 2023-04-03T18:58:54Z RowanBee 396110 Created page with " == RAW Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} A very powerful jet engine with a cooldown." wikitext text/x-wiki == RAW Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} A very powerful jet engine with a cooldown. e0a8d83245bf1dde5d935087a5356fe6cbd41443 219 218 2023-04-03T19:01:59Z RowanBee 396110 added to stubs wikitext text/x-wiki == RAW Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} A very powerful jet engine with a cooldown. [[Category:Stubs]] 4a956465fdeb184f307b0b3b30b22c03f2bf870c 220 219 2023-04-03T19:14:38Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == RAW Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} A very powerful jet engine with a cooldown. [[Category:Stubs]] 6ed8667c81f0b30ee4498f6f2173e9e28efe4004 221 220 2023-04-03T19:56:00Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:Raw Jet.png|thumb|Raw Jet]] A very powerful jet engine with a cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |53.1 kg |- |Power |750 |- |Dimensions |2 x 5 x 2 |} [[Category:Stubs]] 1fd574d1f2c80b60aff18a80747191abb9ce0c31 Gimbal Jet 0 21 113 2023-04-03T18:59:23Z RowanBee 396110 Created page with " == Gimbal Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} A jet that always fires downwards." wikitext text/x-wiki == Gimbal Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} A jet that always fires downwards. 80a1ea3be69d5394a1b965783f76b1516b848bbe 114 113 2023-04-03T19:01:26Z RowanBee 396110 wikitext text/x-wiki == Gimbal Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} A jet that always fires downwards. [[Category:Stubs]] 2f08ec4fb8abfaa2b81b3092cec6dd58276ed167 115 114 2023-04-03T19:14:49Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Gimbal Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} A jet that always fires downwards. [[Category:Stubs]] 2a11fde26cfb9a18df6959220814dd82a2f48477 116 115 2023-04-03T19:58:14Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] 80a7ce0952d09dadd34f06d449ca987ec30e0bf7 117 116 2023-04-30T11:42:36Z 37.8.231.47 0 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. Can be problematic to use in flying maschines. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] 46dcb2258bab6abb72ffd1db3b491708098516a9 118 117 2023-05-02T18:55:56Z 82.13.172.154 0 A misspelling wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. Can be problematic to use in flying machines. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] a013e846d0d7662bb789650c00b8d17f9e32ee99 119 118 2023-05-03T20:44:30Z 149.19.40.212 0 Adding categories wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. Can be problematic to use in flying machines. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] [[Category:Thrust]] 863a0fe6f8829e531e291fd5511ffbc28eb935b0 Thruster Blocks 0 43 281 280 2023-04-03T19:01:18Z RowanBee 396110 spelling and links wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * [[Dragon Jet]] * [[RAW Jet]] * [[Gimbal Jet]] === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet | 106.7kg |- | RAW Jet | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating, it has doubled cooling meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two mini-thrusters. 1608a8cc5562a1dd910dddda47e9c5d344cf7704 Dragon Jet 0 17 76 75 2023-04-03T19:02:16Z RowanBee 396110 added to stubs wikitext text/x-wiki == Dragon Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} A very powerful jet engine that does not overheat. [[Category:Stubs]] d7b3426f26d151a0d3de417a64d5554651301962 77 76 2023-04-03T19:14:27Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Dragon Jet == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} A very powerful jet engine that does not overheat. [[Category:Stubs]] 558e246974e51ef747468e381c99712e7e4b8862 78 77 2023-04-03T19:54:08Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Dragon Jet == [[File:Dragon Jet.png|thumb|Dragon Jet]] A very powerful jet engine that does not overheat. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !3 |- |Weight |30 kg |- |Power |300 |- |Dimensions |2 x 3 x 2 |} [[Category:Stubs]] 3ad59bd8503ba05c1ab7fe93306973d5f93010ee Mini-Thuster 0 29 184 183 2023-04-03T19:02:35Z RowanBee 396110 added to stubs wikitext text/x-wiki == Mini-Thruster == {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} A small and cheap jet engine with low thrust. [[Category:Stubs]] 8328c57ca0eaaa6c129c905800a339815adb5523 185 184 2023-04-03T19:14:17Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Mini-Thruster == {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} A small and cheap jet engine with low thrust. [[Category:Stubs]] ef2439ee025176ffada76a929bda15779a02348a 186 185 2023-04-03T19:52:20Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Mini-Thruster == [[File:Mini-Thruster.png|thumb|Mini-Thruster]] A small and cheap jet engine with low thrust. {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} [[Category:Stubs]] a7e728798837b051ce98c8cdadee14d5239f4f4b 187 186 2023-05-03T20:44:13Z 149.19.40.212 0 Adding categories wikitext text/x-wiki {{Stub}} == Mini-Thruster == [[File:Mini-Thruster.png|thumb|Mini-Thruster]] A small and cheap jet engine with low thrust. {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |} [[Category:Stubs]] [[Category:Thrust]] 1c84f742616cdd295369f613419a93bf7f0b2ce3 Propeller Blocks 0 32 207 206 2023-04-03T19:03:52Z RowanBee 396110 RowanBee moved page [[Propeller blocks]] to [[Propeller Blocks]]: capitalization wikitext text/x-wiki "Note" All of this is outdated [[Category:Hhhhhh]] c65dc803fa861a63cca425318b53cece8f743f3e 208 207 2023-04-03T19:08:24Z RowanBee 396110 Added all propeller blocks wikitext text/x-wiki == Propeller == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |12.5 kg |- |Dimensions |2 x 2 x 5 |} Provides propulsive power. == Helicopter Engine == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} Block that can spin around quickly. == Helicopter Engine v2 == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} A helicopter engine with a static top and bottom. [[Category:Stubs]] 9f1bc17dac1f1eb527f072eba57a8cc82792b1de 209 208 2023-04-03T19:13:40Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Propeller == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |12.5 kg |- |Dimensions |2 x 2 x 5 |} Provides propulsive power. == Helicopter Engine == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} Block that can spin around quickly. == Helicopter Engine v2 == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} A helicopter engine with a static top and bottom. [[Category:Stubs]] 9a16d4caa4a172c1b36f79717697b1d7ee6e05cd 210 209 2023-04-03T19:17:56Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Propeller == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !2 |- |Weight |12.5 kg |- |Dimensions |2 x 2 x 5 |} Provides propulsive power. == Helicopter Engine == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} Block that can spin around quickly. == Helicopter Engine v2 == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |5.6 kg |- |Dimensions |2 x 2 x 1 |} A helicopter engine with a static top and bottom. == Underwater Propeller == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |12.5 kg |- |Dimensions |2 x 4 x 2 |} Provides propulsion in water. == Outboard Boat Motor == {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] ! |- |Weight | |- |Dimensions | |} High Seas DLC, needs information filled. [[Category:Stubs]] 41673d07480a416d77c8bab2e4ba9785f50bd8d5 Hover Blocks 0 22 128 2023-04-03T19:10:55Z RowanBee 396110 Created page with "==Hover Block== {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |}Lift engine that generates an air cushion under your vehicle. [[Category:Stubs]]" wikitext text/x-wiki ==Hover Block== {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |}Lift engine that generates an air cushion under your vehicle. [[Category:Stubs]] 7f0d3da9b60dedd451164784498f16137707b8c3 129 128 2023-04-03T19:13:25Z RowanBee 396110 wikitext text/x-wiki {{Stub}} ==Hover Block== {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |}Lift engine that generates an air cushion under your vehicle. [[Category:Stubs]] 7486ffe31a146d86ba754be2d0e22560e1f7bd45 130 129 2023-04-03T19:50:31Z RowanBee 396110 wikitext text/x-wiki {{Stub}} ==Hover Block== [[File:Hover Block.png|thumb|Hover Block]] Lift engine that generates an air cushion under your vehicle. {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |} [[Category:Stubs]] 2367676b8f8ce8185d6dd5374ae51074c6c84d28 131 130 2023-04-30T11:48:17Z 37.8.231.47 0 wikitext text/x-wiki {{Stub}} ==Hover Block== [[File:Hover Block.png|thumb|Hover Block]] Lift engine that generates an air cushion under your vehicle. Can float vehicle on water , when it moves very fast. {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |} [[Category:Stubs]] 48a462dc37a444d1bd7e688eb3a7ac4b6edeb5f5 Blocks 0 6 28 27 2023-04-03T19:11:15Z RowanBee 396110 added link to hover blocks wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] <hr> In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 9972b811611476c688594459e6b3d271c5a01034 29 28 2023-04-03T20:33:51Z RowanBee 396110 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main building blocks for your vehicles. ===[[Propulsion blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. ==== Wheels ==== ===[[Mechanical Blocks|Mechanical blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks|Aerodynamic blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] 40ef418ba38a5a54d8da67dbf759c65ee20d7352 30 29 2023-04-03T20:40:14Z RowanBee 396110 added the rest of the block categories wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === Lights === Lights are used to illuminate your vehicles. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] cddef315df4774e9b7410e5379e4bbce4fc961b3 31 30 2023-05-16T17:07:27Z Aubygaming 396111 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. They are also Bisexual. ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. They also like to "Dance, Dance, Dance" with their "Hands, Hands, Hands" above their head like "Jesus Said" ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === Lights === Lights are used to illuminate your vehicles. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] fcdb2e7f8270c5d83abf5401bab4b195baa23b09 32 31 2023-05-28T02:44:50Z Sweetkid01 109814 Undo revision 582 by [[Special:Contributions/Aubygaming|Aubygaming]] ([[User talk:Aubygaming|talk]]) wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === Lights === Lights are used to illuminate your vehicles. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] cddef315df4774e9b7410e5379e4bbce4fc961b3 Engine Blocks 0 18 87 86 2023-04-03T19:13:01Z RowanBee 396110 wikitext text/x-wiki {{Stub}} ==Bulldawg Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} High acceleration. Low top speed. ==RAW Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} Low acceleration. High top speed. ==Dragon Engine== {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} High acceleration. High top speed. [[Category:Stubs]] b19808124d8a0abd8877551b824e9c63733ec473 88 87 2023-04-03T19:48:42Z RowanBee 396110 added images wikitext text/x-wiki {{Stub}} ==Bulldawg Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] High acceleration. Low top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} ==RAW Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 2 |} ==Dragon Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stubs]] ded2b5bf29af8d8396ff28cc504da08ecaff5daf Mechanical Blocks 0 28 174 173 2023-04-03T19:34:42Z RowanBee 396110 added information for all mechanical blocks wikitext text/x-wiki == Overview == "Blocks with mechanical functions," Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. {{Stub}} == List of Mechanical Blocks == === Hinges === ==== Steering Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 1 |} ==== Large Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |1.1 kg |- |Dimensions |2 x 1 x 1 |} ==== Trailer Hinge ==== Ball hinge with two attachment points. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} === Suspension === ==== Straight Suspension ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 2 |} ==== Suspension Spring ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 2 x 3 |} === Servos === ==== Rotating Servo ==== Block that can slowly rotate in each direction. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} ==== Spinning Servo ==== Block that can spin around quickly. {| class="fandom-table" |+Block Data |Weight |9.1 kg |- |Dimensions |2 x 2 x 2 |} === Other === ==== Piston ==== Extendable cylinder that moves back and forth. {| class="fandom-table" |+Block Data |Weight |6.4 kg |- |Dimensions |1 x 1 x 4 (extended) 1 x 1 x 1 (retracted) |} ==== Detachable Block ==== Detaches the structure it is attached to. {| class="fandom-table" |+Block Data |Weight |1.6 kg |- |Dimensions |1 x 2 x 1 |} d0d682e29dbf13ee43676749f06573852b2ed079 175 174 2023-04-03T19:36:08Z RowanBee 396110 wikitext text/x-wiki {{Stub}} == Overview == "Blocks with mechanical functions," Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. == List of Mechanical Blocks == === Hinges === ==== Steering Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 1 |} ==== Large Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |1.1 kg |- |Dimensions |2 x 1 x 1 |} ==== Trailer Hinge ==== Ball hinge with two attachment points. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} === Suspension === ==== Straight Suspension ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 2 |} ==== Suspension Spring ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 2 x 3 |} === Servos === ==== Rotating Servo ==== Block that can slowly rotate in each direction. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} ==== Spinning Servo ==== Block that can spin around quickly. {| class="fandom-table" |+Block Data |Weight |9.1 kg |- |Dimensions |2 x 2 x 2 |} === Other === ==== Piston ==== Extendable cylinder that moves back and forth. {| class="fandom-table" |+Block Data |Weight |6.4 kg |- |Dimensions |1 x 1 x 4 (extended) 1 x 1 x 1 (retracted) |} ==== Detachable Block ==== Detaches the structure it is attached to. {| class="fandom-table" |+Block Data |Weight |1.6 kg |- |Dimensions |1 x 2 x 1 |} e3fa036d6e4b963f28a913f450b890fa60486e9a Logic Blocks 0 27 169 168 2023-04-03T20:14:40Z RowanBee 396110 Added more gates and an image wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks, except for the Angle Sensor and Compass which are 1x2x2, that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. Every logic block weighs 0.6 kg, except the Angle Sensor and Compass, which weigh 1.2 kg. [[File:Logic Blocks 2.png|thumb|594x594px|AND Gate, OR Gate, XOR Gate, Distance Sensor, Speed Sensor, Altitude Sensor, Angle Sensor, Compass]] == How Logic Gates Work == There are 8 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor *Speed Sensor *Altitude Sensor *Angle Sensor *Compass Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. The output of a logic gate is *not* the output you specify in the editor while building. The output of the gates is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." This means both AND Gates and OR Gates can output values of zero. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. *Example 2: An AND Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the AND gate outputs nothing. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. *Example 2: An OR Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the OR gate outputs nothing. *Note that, like the other gates, the output of the OR Gate is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Speed Sensor ==== * The Speed Sensor sends output when the speed of the block reaches a set speed. ==== Altitude Sensor ==== * The Altitude Sensor sends output when the altitude of the block reaches a certain altitude. ==== Angle Sensor ==== * The Angle Sensor sends output when the angle of the block reaches a set amount. ==== Compass ==== * The Compass sends output when the direction the block is facing falls within a set angle. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. eb8958e6c0350c65b5792436f885711b149e17d7 Aerodynamic Blocks 0 12 52 51 2023-04-03T20:20:43Z RowanBee 396110 added image wikitext text/x-wiki Aerodynamic Blocks are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds. [[File:Aerodynamic Blocks.png|thumb|1020x1020px|All of the Aerodynamic Blocks]] fa237ceb6738531272af36667596c32f17e0bdcf Frame Blocks 0 19 95 2023-04-03T20:30:35Z RowanBee 396110 Created page with "== Overview == Frame blocks are the main building blocks, and allow you to create the framework for your creations.<hr> [[File:Frame Blocks.png|thumb|955x955px|Every Frame Block except the mast.]] ==== List of Frame Blocks ==== * Block 1x2 * Block 1x3 * Block 1x4 * Block 2x4 * Block 2x2x2 * Block 4x8 * Grid Block 1x2 * Grid Block 1x4 * Flat Connector 1x2 * Flat Connector 1x3 * Flat Connector 1x4 * Shield 2x1 * Shield 2x2 * Shield 2x4 * Small Porthole * Large Porthole *..." wikitext text/x-wiki == Overview == Frame blocks are the main building blocks, and allow you to create the framework for your creations.<hr> [[File:Frame Blocks.png|thumb|955x955px|Every Frame Block except the mast.]] ==== List of Frame Blocks ==== * Block 1x2 * Block 1x3 * Block 1x4 * Block 2x4 * Block 2x2x2 * Block 4x8 * Grid Block 1x2 * Grid Block 1x4 * Flat Connector 1x2 * Flat Connector 1x3 * Flat Connector 1x4 * Shield 2x1 * Shield 2x2 * Shield 2x4 * Small Porthole * Large Porthole * Mast (High Seas DLC) 251c9ef731b4e339d9706904d500ac539f2e7a28 96 95 2023-06-07T01:16:35Z TotesMaGoats3 397966 Improved the Overview. wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. == Blocks == "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides {| class="fandom-table" |+Blocks !Size !Weight |- |1x2x2 |0.6 kg |- |1x3x1 |0.9 kg |- |1x4x1 |1.2kg |- |2x4x1 |2.5 kg |- |2x2x2 |2.5 kg |- |4x8x1 |10 kg |} [[File:Frame Blocks.png|thumb|955x955px|Every Frame Block except the mast.]] ====List of Frame Blocks==== * Block 1x2 *Block 1x3 *Block 1x4 *Block 2x4 *Block 2x2x2 *Block 4x8 *Grid Block 1x2 *Grid Block 1x4 *Flat Connector 1x2 *Flat Connector 1x3 *Flat Connector 1x4 *Shield 2x1 *Shield 2x2 *Shield 2x4 *Small Porthole *Large Porthole *Mast (High Seas DLC) 7a796390bcf41f85a8baaa909e55be5aed975aec 97 96 2023-06-14T17:48:00Z TotesMaGoats3 397966 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, {| class="fandom-table" |+Frame Blocks !Size !Weight |- |1x2x2 |0.6 kg |- |1x3x1 |0.9 kg |- |1x4x1 |1.2kg |- |2x4x1 |2.5 kg |- |2x2x2 |2.5 kg |- |4x8x1 |10 kg |} [[File:Frame Blocks.png|thumb|955x955px|Every Frame Block except the mast.]] ====List of Frame Blocks==== * Block 1x2 *Block 1x3 *Block 1x4 *Block 2x4 *Block 2x2x2 *Block 4x8 *Grid Block 1x2 *Grid Block 1x4 *Flat Connector 1x2 *Flat Connector 1x3 *Flat Connector 1x4 *Shield 2x1 *Shield 2x2 *Shield 2x4 *Small Porthole *Large Porthole *Mast (High Seas DLC) aae15c1dd85b061170a48ddbc271967b2e6914d4 98 97 2023-06-22T20:30:34Z TotesMaGoats3 397966 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} 62488df5dc9ed5739965fed77abee7347023d5e6 99 98 2023-06-22T20:34:36Z TotesMaGoats3 397966 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] 72b218d28b577509e08bea3f60f1270560c27ecc Propulsion Blocks 0 33 214 213 2023-04-03T20:33:22Z RowanBee 396110 wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. 154492540c2dd01cb1169efccad113817d0e673a 215 214 2023-04-03T20:33:43Z RowanBee 396110 RowanBee moved page [[Propulsion blocks]] to [[Propulsion Blocks]] without leaving a redirect: Standardizing capitalization wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. 154492540c2dd01cb1169efccad113817d0e673a Power cores 0 31 199 198 2023-04-05T05:10:53Z 208.114.129.10 0 wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] as an indicator of the power of your vehicle. Propulsion blocks are not the only block that require Power Cores, as gadgets such as the Tractor Beam and Cannons require them as well. In the Racing gamemode, vehicles are rated based on the amount of cores they use. Vehicles with similar amount of cores are put into their respective leagues for each race, such that different leagues have different leaderboards for each racetrack. {| class="wikitable" |+Power Core Leagues !League !Power Cores ! ! |- |Bionic League |0 | | |- |Gokart League |1 | WHERE?!?!?!? I NEED LOCATIONS "LOCATIONS" not star war builds!! | |- | |2-5 | | |} In the Stranded in Space Campaign gamemode, Power Cores serve as a limiting factor to the power of your vehicle. You have a limited amount of power cores to use, which can be increased by collecting certain scrap found around the map. Each propulsion block has a power core requirement, which differs depending on the power of the block. {| class="wikitable" |+Engine Block Power Core Requirements !Block !Power Core Requirement |- |Bulldog Engine |1 |- |RAW Engine |2 |- |Dragon Engine |3 |- |Mini Thruster |1 |- |RAW Thruster |2 |- |Dragon Thruster |3 |- |Gimbal Jet |1 |- |Hover Block |1 |- |Helicopter Engine V1 |1 |- |Helicopter Engine V2 |1 |} Many of the gadgets also require power cores to function. {| class="wikitable" |+ !Block !Power Core Requirement |- |Tractor Beam |1 |- |Small Cannon |1 |- |Large Cannon |3 |- |Tank Cannon |3 |- |Dynamite |1 |} 1d9714361ae490f1ec712f59432db5d5dcfe323b How to play guide for Trailmakers 0 23 146 145 2023-04-17T09:10:04Z 162.229.48.213 0 Fixed some of the grammar problems. wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== You can either start by playing the Stranded in Space campaign, or the Rally campaign. In Stranded in Space, you need to collect salvage from around the map to unlock blocks, in order to build a rocket to escape the planet on which you've crashlanded. In Rally, you will learn to build various kinds of vehicles, and race them. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy than their less traction-based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal). This is due to how they are evaluated by the physics engine. * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won't fall over. *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 1590b55951dfad61db16802ca1fadccbdea2e19c Race Island 0 35 229 2023-05-11T06:18:00Z 86.146.56.121 0 created t he page wikitext text/x-wiki Race Island Race Island is a map in TrailMakers 43b50382f6a9a4982784e4f001f912ce21751c35 230 229 2023-05-11T06:30:41Z 86.146.56.121 0 removed the duplicated race island wikitext text/x-wiki Race Island is a map in TrailMakers 46ff4cae8ffdfb4004e3629c9580afd1f50ad5c4 Template:Dotlist 10 85 421 2023-05-17T23:49:37Z {{Infocard}}>Rye Greenwood 0 partial undo (restored categories and {{language info}}), removed an outdated comment wikitext text/x-wiki <includeonly><!-- --><div class="dotlist {{#switch:{{{bold|{{#dplvar:_dotlist_flag_bold|}}}}}|n|no=nobold}} {{{space|{{#dplvar:_dotlist_flag_space|}}}}} {{#switch:{{{dot|{{#dplvar:_dotlist_flag_dot|}}}}}|n|no=nodot}} {{#if:{{bool|{{{inline|}}}}}|inline}} {{{class|{{#dplvar:_dotlist_flag_class|}}}}}" style="{{{css|{{#dplvar:_dotlist_flag_css|}}}}};{{{style|}}}"><!-- -->{{#if:{{{title|}}}|<span class="title">{{{title|}}}</span>}}<!-- -->{{#if:{{bool|{{{paren|}}}}}|(}}<ul><!-- -->{{#fornumargs:_|v|<li>{{#var:v}}</li>}}<!-- --></ul>{{#if:{{bool|{{{paren|}}}}}|)}}<!-- --></div><!-- --></includeonly><!-- --><noinclude>{{doc}} {{category|Formatting templates}} {{category|Dual-style templates}} {{language info|en=Template:Dotlist}} </noinclude> bad27c97e01e1523180ed59832a17dbfb89d2580 Wheels 0 50 344 343 2023-06-22T21:38:08Z TotesMaGoats3 397966 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 10 different wheels in the game. *<u>Offroad Wheel</u> - ''"Slightly better traction on rough terrain than on tarmac."'' The starter wheels in the campaign. They are a medium sized wheel with solid performance on grass/sand/etc. However, they will struggle in mud. It weighs 10kg. *<u>Racing Wheel</u> - ''"Better grip on tarmac than rough terrain."'' A medium sized wheel that performs particularly well when on tarmac but entirely fails offroad. It weighs 10kg. *<u>Monster Truck Wheel</u> - ''"Large and heavy wheel with good overall grip."'' The largest of all wheels and by far the heaviest. The best wheel in terms of control in mud and offroad terrain, however, it is offset by the fact it will immensely slow a vehicle down due to the weight, friction, and poor aerodynamics. It weighs 25kg. *<u>Go-kart Wheel</u> - ''"Small wheel with better grip on tarmac than rough terrain."'' One of the lightest wheels. Almost no traction on anything other than tarmac. It weights 2 kg. *<u>Slim Wheel</u> - ''"Relatively poor grip and speed, but very light weight."'' A medium sized and thin wheel with atrociously bad control, especially in offroad terrain. Despite its description, it is by far the fastest wheel due to its light weight, aerodynamics, and lack of friction, making it excellent for vehicles that don't need to turn much on the ground (such as drag racers or planes that require runways). It weighs 1.5kg. *<u>Drag Racing Wheel</u> - ''"Large wheel with better grip on tarmac than rough terrain."'' An enormous wheel that's size is only surpassed by the Monster Truck Wheel. It has the best grip of all wheels on paved surfaces and thus does not easily come off the ground or lose control when turning on its intended surface. Despite its name, in terms of speed it's terrible, as it will slow a vehicle down due to the heavy weight and friction. It weighs 20kg. *<u>Truck Wheel</u> - ''"Large wheel with good overall grip."'' A large wheel that performs well on offroad terrain. Not nearly as large or heavy as the Monster Truck Wheel and thus, will not slow a vehicle down as much. While it performs better than most wheels in the mud, it will still suffer from some lack of control. It weighs 15kg. *<u>Spiked Wheel</u> - ''"Good grip on rough terrain."'' A medium sized wheel with spikes embedded into it. Has excellent grip in offroad terrain, keeping lighter vehicles grounded when driving offroad while only suffering a slight loss in speed compared to the offroad wheels. However, they still perform poorly in mud. An excellent replacement for the offroad wheels if you favor control over speed. It weighs 10kg. *<u>Motorcycle Wheel</u> - ''"A rad wheel for your hog. Average grip on all surfaces."'' A medium sized thin wheel with decent control. A very fast wheel that, unlike the Slim Wheel, has some measure of control. In comparison to dedicated offroad/tarmac wheels however, it's flighty and can easily lose control when turning. It weights 7.5kg *<u>Landing Wheels</u> - ''"A pair of landing wheels to fit under an airplane."'' Simplest wheel to put underneath a vehicle as it has mounting points on the top. Average grip on all surfaces with slightly better grip on tarmac. It weighs 7.5 kg. *<u>Ski</u> - ''"For gliding."'' Not technically a wheel, but still placed under the category. It very easily slides across the ground. Unlike tires, it does not make use of an engine nor does it rotate, and so it requires another form of propulsion (such as a thruster) in order to make use of it. It weighs 0.2kg. *<u>Friction Pad</u> - "A pad with very high friction." A 1x1x1 block where one side is a rubber like bump that provides a ton of friction <br /> 95f01ead4656f0bfbb988b96310c4ac43688022e Template:Flexbox 10 88 427 2023-06-22T23:21:03Z {{Infocard}}>Rye Greenwood 0 The $style parameter needs to be passed via $css to {{flexstart}}, otherwise it's ignored. wikitext text/x-wiki {{flexstart|{{#if:{{{inline|}}}|inline}}<!-- -->|wrap={{{wrap|}}}<!-- -->|direction={{{direction|}}}<!-- -->|justify={{{justify|}}}<!-- -->|alignitems={{{alignitems|}}}<!-- -->|alignlines={{{alignlines|}}}<!-- -->|width={{{width|}}}<!-- -->|height={{{height|}}}<!-- -->|css={{{css|{{{style|}}}}}}<!-- -->|cssclass={{{cssclass|{{{class|}}}}}}<!-- -->|id={{{id|}}}<!-- -->}}<!-- -->{{#fornumargs:_|v|{{#var:v}}}}<!-- -->{{flexend}}<noinclude>{{doc}} {{category|Flexbox templates}} {{language info|en=Template:Flexbox}} </noinclude> 9c145e6a015b1e2826a1db5ef2f85dbc6edaad8d Thruster Blocks 0 43 282 281 2023-06-28T12:46:35Z 176.137.171.199 0 wikitext text/x-wiki {{Stub}} There are 4 thruster blocks currently in Trailmakers. Those 4 blocks are: *[[Mini-Thuster|Mini-Thruster]] * [[Dragon Jet]] * [[RAW Jet]] * [[Gimbal Jet]] === Power === Each engine has a power rating assigned to it, the only exceptions being the gimbal jet, propeller, and underwater propeller. Those ratings are: While most engines are powerful the mini thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- | Mini-Thruster | 80 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Gimbal Jet |230 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the first three, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- | Mini-Thruster | 28.6kg |- | Dragon Jet | 107.15kg |- | RAW Jet | 268.4kg |- | Gimbal Jet | 78.57167kg (more precise) |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating, it has doubled cooling meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two mini-thrusters. d209ac69ec88c844058fbf466c889e3ef70e45a7 283 282 2023-08-03T14:24:48Z Lukkram 396381 more data + updated data wikitext text/x-wiki {{Stub}} There are 6 thruster blocks currently in Trailmakers. Those 6 blocks are: *[[Rocket Thruster]] *[[Mini-Thuster|Thruster]] *[[RAW Jet]] * [[Dragon Jet]] * [[Large Jet]] * [[Gimbal Jet]] === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Boat Engine, Underwater Propeller, Helicopter Engine, Stackable Helicopter Engine and the Gimbal Jet. Those ratings are: While most engines are powerful the Rocket Thruster and Thruster are the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |60 |- | Thruster | 80 |- |Gimbal Jet |220 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Large Jet |800 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |21.6 kg |- | Thruster | 28.6 kg |- | Gimbal Jet | 78.57167 kg (more precise) |- | Dragon Jet | 107.15 kg |- | RAW Jet | 268.4 kg |- |Large Jet |285.5 kg |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater then 1 then divide it until it's less then 1 and for every divide you need to a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating, it has doubled cooling meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two thrusters. edef8d2ea7030cde86f561ed95a76fa6d3dc9891 Trailmakers 0 44 306 305 2023-06-30T20:06:20Z 23.135.18.129 0 Ball wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. The world in Trailmakers is an will suck your dick of dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] 5409cf86b24ed4c6c3e76394eb09343750f7ed41 307 306 2023-06-30T20:06:22Z SOAP Bot 40785 Automated rollback. Certainty: 97.38%. Was this a mistake? [[w:c:soap:Project:Cynthia|Click here]].) wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] aa73088234358f4381294f040f44db2322365968 308 307 2023-08-25T14:40:12Z Dfhthhr6hdhdtth 397980 wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''[https://imghost.pics/QJNGG4 Game Download]''' '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. '''[https://imghost.pics/QJNGG4 Game Download]''' The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building '''[https://imghost.pics/QJNGG4 Game Download]'''=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. '''[https://imghost.pics/QJNGG4 Game Download]''' <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] c04c12c2a20c07db55e602dd33f4eec7312aecc0 309 308 2023-09-15T15:48:00Z SOAP Bot 40785 Automated rollback of Dfhthhr6hdhdtth wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] aa73088234358f4381294f040f44db2322365968 Biomes 0 13 58 57 2023-07-03T06:34:21Z 163.47.220.228 0 wikitext text/x-wiki '''boimes/locations''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. Trailmakers contains a variety of biomes. [[Category:Trailmakers.play.steam.xbox]] 1a35b6da1067feee0cdcd0abd73579b9dc47ce2d 59 58 2023-07-03T09:42:42Z Malvodion 4285 Undo revision 597 by [[Special:Contributions/163.47.220.228|163.47.220.228]] ([[User talk:163.47.220.228|talk]]) wikitext text/x-wiki {{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. Trailmakers contains a variety of biomes. [[Category:Trailmakers]] 68472979b11255efe39527b3af10b07c53ad95b0 60 59 2023-09-20T01:33:06Z 107.214.208.51 0 wikitext text/x-wiki {{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. Trailmakers contains a variety of biomes. usually each biome has its own set of challenges water needs boats and or subs. sky needs planes or blimps. land needs tanks or cars. [[Category:Trailmakers]] 6d0e33781ae780f74891881d55b40243031283aa Decals 0 16 73 2023-07-03T18:22:52Z ScrapBlox 185098 Added basic information wikitext text/x-wiki {{Stub}} Decals are decorations you can add to blocks. == Decals == There are several decal categories in the game trailmakers. == How to use decals? == # Select a part # After selecting a part, Select the Decals button that appears # Select a decal and change the position for that decal == Resources == 42b6c1d66b7dc02505895ca753032b051093f20d Template:Tl 10 73 395 2023-07-07T01:54:42Z {{Infocard}}>Rye Greenwood 0 Fixed $nl having no effect with parser functions (template parameters cannot be inside <esc> tags). wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:tl:nolink|{{bool|{{{nl|}}}}}}}<!-- -->{{#if:{{bool|{{{code|}}}}}|<code>}}<!-- -->{{(}}<!-- -->{{#uesc:{{#rmatch:{{{1|}}}|^#(\s*(\w+?)\s*)(:(.*)${{!}}$)|<esc><!-- // parser functions -->{{#vardefine:tl:parserf_link|}}<!-- -->{{#vardefine:tl:parserf_link|{{tl/parser function links|$2}}}}<!-- get link to doc page --><nowiki/>#<!-- -->{{#if:{{#var:tl:nolink}}{{#if:{{#var:tl:parserf_link}}||y}}|<!-- --><span title="#$1:">$1</span><!-- -->|<!-- --><span class=plainlinks>[{{tl/parser function links|$2}}##$2 $1]</span><!-- -->}}<!-- -->:$4<!-- --></esc>|<!-- // templates -->{{#if:{{#var:tl:nolink}}{{ifexists|Template:{{{1}}}|3=n}}|<!-- --><span title="{{ns:Template}}:{{ucfirst:{{{1}}}}}">{{{1}}}</span><!-- -->|<!-- -->[[Template:{{{1}}}|{{{1}}}]]<!-- -->}}<!-- -->}}}}<!-- -->{{#or:<!-- -->{{#dplreplace:{{{__paramslist|}}}|/₪/|{{!}}}}<!-- -->|<!-- -->{{#fornumargs:k|v|<!-- -->{{#ifexpr:{{#var:k}}!=1|<!-- skip first parameter -->{{!}}{{#var:v}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->{{)}}<!-- -->{{#if:{{bool|{{{code|}}}}}|</code>}}<!-- --></includeonly><!-- --><noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:Tl}} </noinclude> 027b14ee0e8cd437c3feb733518badca06e2bf9a Blocks 0 6 33 32 2023-07-10T21:26:40Z 99.251.117.135 0 Adding categories wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === Lights === Lights are used to illuminate your vehicles. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] [[Category:Balance Blocks]] 791c314e3ed5ae412b6e1664149ba946ba0a9b80 34 33 2023-07-10T21:27:42Z 99.251.117.135 0 Adding categories wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]] *[[Hover Blocks]] *[[Thruster Blocks]] *[[Propeller blocks|Propeller Blocks]] In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. === Lights === Lights are used to illuminate your vehicles. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. [[Category:Trailmakers]] [[Category:Balance Blocks]] [[Category:Inflatable Balloon]] eb72f855b8d62e145095ae830fe55df2c5222157 35 34 2023-09-22T21:35:43Z 94.4.34.112 0 Described every category with more detail, from simple few sentences to large paragraph sized text, allowing more in-depth knowledge to be gained from this, instead of a very basic summary without true explanation wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle. ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === Lights === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] [[Category:Balance Blocks]] [[Category:Inflatable Balloon]] 8efbafca4165fca6abd860da9ae5ad1176cdec29 36 35 2023-09-23T06:54:54Z Xicozoel 396112 /* Wheels */ wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels (or landing gear) can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle, although, aerodynamically? not the best. keep the speed to the lighter, smaller wheels . ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === Lights === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] [[Category:Balance Blocks]] [[Category:Inflatable Balloon]] ead69a41a3cecebc32bc275cf15403008a4e7f95 Gimbal Jet 0 21 120 119 2023-07-14T19:29:24Z 83.28.167.4 0 Tylko w modyfikacjach wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] [[Category:Thrust]] 0c23d6c6ca7fc71d64f619dc9e84f73e25672323 121 120 2023-08-03T10:54:14Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|Gimbal Jet]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Weight |9.4 kg |- |Dimensions |2 x 2 x 1 |} [[Category:Stubs]] [[Category:Thrust]] 20753115d59758f95f6afdfa8da7b7b8e9bfbba8 122 121 2023-08-03T11:22:34Z Lukkram 396381 more data + new image wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red][Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Power (Estimated) |230 |- |Weight |9.4 kg |- |Lifting capacity |78.5 kg |- |Lift to Weight |8.35 |- |Dimensions |2 x 2 x 1 |- |Power to size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] a9ea163b4445a21ece63622470681387205a3bad 123 122 2023-08-03T11:23:14Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Power (Estimated) |230 |- |Weight |9.4 kg |- |Lifting capacity |78.5 kg |- |Lift to Weight |8.35 |- |Dimensions |2 x 2 x 1 |- |Power to size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] 778b6c07d479ba8caf401c1955f083ebddf2fc21 124 123 2023-08-03T11:39:18Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] !1 |- |Power (Estimated) |220 |- |Weight |9.4 kg |- |Lifting capacity |78.5 kg |- |Lift to Weight |8.35 |- |Dimensions |2 x 2 x 1 |- |Power to size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] 264145eb86278009ebc4c6bbaaa8f30d768d6d28 125 124 2023-08-03T12:03:30Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |9.4 kg |- !Power (Estimated) |220 |- !Dimensions |2 x 2 x 1 |- | colspan="2" | |- !Lifting capacity |78.5 kg |- !Lift / Weight |8.35 |- !Power / size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] cd47d682b73e35628ba1d93b35413c2bb0f60350 126 125 2023-08-03T12:08:43Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |9.4 kg |- !Power (Estimated) |220 |- !Dimensions |2 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |78.5 kg |- !Lift / Weight |8.35 |- !Power / size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] 20cbcf678f5886bf3c38bb94d3bc2dc6a5ebf506 Minigun 0 30 193 2023-07-31T02:09:29Z WaterBlaster0317 397975 Created page with "[[File:Minigun.png|thumb]] The Minigun is a block In Trailmakers. It requires a 2x2x6 area to be placed. The Minigun weighs 4.4 kilograms. It can be tinted with both primary & secondary colors. Its aerodynamics from the front, back, left, right, & top is equal to that of a "Fairly Aerodynamic" block (1x1 wedge). The Minigun's aerodynamics from the bottom is equal to a standard block face (red). It has no directional drag other than what comes from its orientation (i..." wikitext text/x-wiki [[File:Minigun.png|thumb]] The Minigun is a block In Trailmakers. It requires a 2x2x6 area to be placed. The Minigun weighs 4.4 kilograms. It can be tinted with both primary & secondary colors. Its aerodynamics from the front, back, left, right, & top is equal to that of a "Fairly Aerodynamic" block (1x1 wedge). The Minigun's aerodynamics from the bottom is equal to a standard block face (red). It has no directional drag other than what comes from its orientation (it won't push air in any one direction like a wedge, it will push air in all directions equally like a cone). It is a Gadget block that costs 4 Power Cores. The Minigun has enough health to take 8-10 bullets before destruction. Entering a creation with a minigun on it generates a 3-ringed reticle which represents the average firing line of all gun-based blocks on the creation. This reticle turns red once the auto-aim has "locked on" to a target. This reticle also displays the total ammo for all weapons. If the firing lines of multiple blocks are different enough, another reticle will generate to show the average firing line of one portion of the weapons while the second reticle will show the average of the other portion. This can potentially generate infinite reticles but is limited by the angle difference required to generate another reticle. The Minigun fires continuously when triggered at approximately 600 rpm. The Minigun can auto-aim at any "target" (pirate AI [Airborne DLC only], enemy player creations) within an approximately 30-degree cone. The Minigun can be fired for 4 seconds before running out of ammo. Ammo is separate for each Minigun. This ammo is continuously replenished over time. From no Ammo to max Ammo, regeneration takes approximately 6 seconds. The Minigun has one keymap: its fire button. this keymap can be set toggle, where the fire button will be activated after the initial keypress until the release of a second keypress. The Minigun has the standard Delay, Duration, & Pause seen in most blocks with logic in Trailmakers, where Delay requires a minimum activation time before the block's action, Duration sets a maximum activation time before block action is stopped, & Pause sets a time before the deactivation caused by Duration is reset, but if the time is set to 0, the block will not activate again until the key is released & pressed again. The Minigun also has a unique "Auto Aim Scale" value. This value sets the radius of the auto-aim cone relative to its 30-degree maximum (1 is the max 30 degrees, .5 is 15 degrees, etc.). bdb9b501be606651f3d3068a855509f4f05424ea Mini-Thuster 0 29 188 187 2023-08-03T11:58:27Z Lukkram 396381 wikitext text/x-wiki {{Stub}} == Thruster == [[File:TM Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] A small and cheap jet engine with low thrust. It used to be called "Mini-Thruster" but has been renamed to "Thruster" after the Wings and Weapons update {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |- | | |- !Lifting Capacity |28.6 kg |- !Lift / Weight |2.9 |- !Power / Size |20 |} [[Category:Stubs]] [[Category:Thrust]] 3635885bf99a3d17e7c5e99d8d0c27ffa44bca58 189 188 2023-08-03T12:00:15Z Lukkram 396381 more data + new image wikitext text/x-wiki {{Stub}} == Thruster == [[File:TM Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] A small and cheap jet engine with low thrust. It used to be called "Mini-Thruster" but has been renamed to "Thruster" after the Wings and Weapons update {| class="fandom-table" |+Engine Data |- ![[Power cores]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |28.6 kg |- !Lift / Weight |2.9 |- !Power / Size |20 |} [[Category:Stubs]] [[Category:Thrust]] 88e94a97d231ec233eebf6abaea9f46450010b52 190 189 2023-09-12T12:42:32Z 1.157.75.94 0 wikitext text/x-wiki {{Stub}} == Thruster == [[File:TM Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] A small and cheap jet engine with low thrust. It used to be called "Mini-Thruster" but has been renamed to "Thruster" after the Wings and Weapons update {| class="fandom-table" |+Engine Data |- ![[Power ]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |28.6 kg |- !Lift / Weight |2.9 |- !Power / Size |20 |} [[Category:Stubs]] [[Category:Thrust]] 75f7aa0388a169308755b79fa067a8f57e4b166b Dragon Jet 0 17 79 78 2023-08-03T12:07:43Z Lukkram 396381 more data + new image wikitext text/x-wiki {{Stub}} == Dragon Jet == [[File:TM Dragon Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine that does not overheat. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |30 kg |- !Power |300 |- !Dimensions |2 x 3 x 2 |- | colspan="2" | |- !Lifting Capacity |106.7 kg |- !Lift / Weight |3.6 |- !Power / Size |25 |} [[Category:Stubs]] 8cbec92c0cd485b5bd674b0692dcf5eadd18c17d 80 79 2023-08-03T12:47:31Z Lukkram 396381 Adding categories wikitext text/x-wiki {{Stub}} == Dragon Jet == [[File:TM Dragon Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine that does not overheat. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |30 kg |- !Power |300 |- !Dimensions |2 x 3 x 2 |- | colspan="2" | |- !Lifting Capacity |106.7 kg |- !Lift / Weight |3.6 |- !Power / Size |25 |} [[Category:Stubs]] [[Category:Thrust]] 1157d50e38747e49e401f2851d3fbedc88a35ee2 RAW Jet 0 34 222 221 2023-08-03T12:13:35Z Lukkram 396381 more data + new image wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] 0df7b9fc1f7b51ec05756093e39615013884b2f0 223 222 2023-08-03T12:43:58Z Lukkram 396381 Adding categories wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] [[Category:Thrust]] 802dd8fcbf1cf17b73a41ba723ade3b6008175e4 224 223 2023-09-08T23:39:24Z 94.254.108.164 0 /* RAW Jet */ wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |- !Thrust time |1.16 sec !Cooldown |3 sec |} [[Category:Stubs]] [[Category:Thrust]] 6533291a3d506eacb0f3da16f50bd9c8af4e067b 225 224 2023-09-08T23:42:53Z 94.254.108.164 0 /* RAW Jet */ wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. After running 1.16 secounds goes into 3 secound cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] [[Category:Thrust]] e323f3ed12b99c61699cc17fa0ca646fb64cb92a 226 225 2023-09-16T14:10:28Z 212.145.139.52 0 Fix typos: secound ---> second (and likewise for the plural form) wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. After running 1.16 seconds goes into 3 second cooldown. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] [[Category:Thrust]] adc191dfe880e863043ac6ecd0885502d2d8da85 Large Jet 0 25 151 2023-08-03T12:32:22Z Lukkram 396381 Created page with "[[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |}" wikitext text/x-wiki [[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |} f9876b8a14024338788951bb185c1963ceebb8da 152 151 2023-08-03T12:33:06Z Lukkram 396381 wikitext text/x-wiki [[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |} a067cdd49290c281729311a4d61efbecc77419a5 153 152 2023-08-03T12:43:45Z Lukkram 396381 Adding categories wikitext text/x-wiki [[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |} [[Category:Stubs]] [[Category:Thrust]] e85248bdfb2337badb2e0b1175d229274933f7b6 154 153 2023-08-03T12:46:07Z Lukkram 396381 wikitext text/x-wiki == Large Jet == [[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |} [[Category:Stubs]] [[Category:Thrust]] 20ece0f1a0033ead71e47973af0c93d47902d0f6 Rocket Thruster 0 37 236 2023-08-03T12:41:05Z Lukkram 396381 Created page with "[[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details !Power Cores |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |}" wikitext text/x-wiki [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details !Power Cores |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} 47082a6cd83f2eda9f57ad524dcb695b8602e094 237 236 2023-08-03T12:42:16Z Lukkram 396381 Adding categories wikitext text/x-wiki [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details !Power Cores |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} [[Category:Stubs]] afe6291379860b4553cc0bfcf4267a14530ba2ba 238 237 2023-08-03T12:42:27Z Lukkram 396381 Adding categories wikitext text/x-wiki [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details !Power Cores |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} [[Category:Stubs]] [[Category:Thrust]] 01a96dd20d58d5e00f694c3811a84ee502413432 239 238 2023-08-03T12:46:40Z Lukkram 396381 wikitext text/x-wiki == Rocket Thruster == [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details !Power Cores |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} [[Category:Stubs]] [[Category:Thrust]] 56dc9c8acac9b2a9bfbb4e19229cfc72ec923f75 240 239 2023-08-03T13:44:17Z Lukkram 396381 wikitext text/x-wiki == Rocket Thruster == [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details ![[Power cores|Power Cores]] |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} [[Category:Stubs]] [[Category:Thrust]] 182bf1e509fb008099829804795c9ef12e8dfaaa Propeller Blocks 0 32 211 210 2023-08-03T15:52:10Z Lukkram 396381 more data + new images wikitext text/x-wiki {{Stub}} == Large Propeller == [[File:TM Large Propeller.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |25 kg |- !Power |350 |- !Dimensions |2 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |125 kg |- !Lift / Weight |5 |- !Power / Size |43.75 |- !Power / Cores |116.6 |} Provides propulsive power. Part of Airborne DLC. == Propeller == [[File:TM Propeller.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |12.5 kg |- !Power |200 |- !Dimensions |2 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |71.5 kg |- !Lift / Weight |5.72 |- !Power / Size |50 |- !Power / Cores |100 |} Provides propulsive power. == Helicopter Engine == [[File:TM Heli.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |5.6 kg |- !Dimensions |2 x 2 x 1 |} Block that can spin around quickly. == Stackable Helicopter Engine == [[File:TM Stack Heli.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |5.6 kg |- !Dimensions |2 x 2 x 1 |} A helicopter engine with a static top and bottom. Previously called "Helicopter Engine v2". == Outboard Boat Engine == [[File:TM Outboard.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |12.5 kg |- !Power |~ 560 |- !Dimensions |2 x 2 x 4 |- | colspan="2" | |- !Lifting Capacity |~ 198.65 kg |- !Lift / Weight |~ 15.9 |- !Power / Size |35 |- !Power / Cores |280 |} Provides propulsion in water. Part of High Seas DLC. == Underwater Propeller == [[File:TM Underwater.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |12.5 kg |- !Power |~ 280 |- !Dimensions |2 x 4 x 2 |- | colspan="2" | |- !Lifting Capacity |~ 101.5 kg |- !Lift / Weight |8.12 |- !Power / Size |17.5 |- !Power / Cores |280 |} Provides propulsion in water. [[Category:Stubs]] 1f35701a3907b3ed97ec2ecef8db202cb3d88207 Propulsion Blocks 0 33 216 215 2023-08-03T15:57:12Z Lukkram 396381 wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. They can be split into the following categories: * [[Engine Blocks]] * [[Hover Blocks]] * [[Thruster Blocks]] * [[Propeller Blocks]] abe333237b32b79a86af38df6f5d4ae84f2573d7 Frame Blocks 0 19 100 99 2023-08-03T16:00:41Z Lukkram 396381 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- | colspan="3" | |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | colspan="3" | |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- | colspan="3" | |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- | colspan="3" | |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] 75017a749842efaf3e1a007ef8bdfeae057f77a5 Aerodynamic Blocks 0 12 53 52 2023-08-03T16:35:47Z Lukkram 396381 wikitext text/x-wiki Aerodynamic Blocks are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds, as well as achieve interesting shapes. {| class="fandom-table" |+Aerodynamic Blocks !Name !Size !Weight !Angle/Radius !Aerodynamics |- |Wedge 1x2 |1x2x1 |0.3 kg |45° |Fairly |- |Wedge 2x1x2 |2x1x2 |0.6 kg |45° |Fairly |- |Wedge 2x2x2 |2x2x2 |1.2 kg |45° |Fairly |- |Wedge 2x4x2 |2x4x2 |2.5 kg |45° |Fairly |- |Wedge 2x1 |2x1x1 |0.3 kg |26.6° |Moderately |- |Wedge 2x2 |2x2x1 |0.6 kg |26.6° |Moderately |- |Wedge 2x4 |2x4x1 |1.2 kg |26.6° |Moderately |- |Wedge 3x1 |3x1x1 |0.5 kg |18.4° |Very |- |Wedge 3x4 |3x4x1 |1.9 kg |18.4° |Very |- |Wedge 4x1 |4x1x1 |0.6 kg |14° |Extremely |- |Wedge 4x4 |4x4x1 |2.5 kg |14° |Extremely |- | colspan="5" | |- |Rounded 1x2 |1x2x1 |0.5 kg |1 block |Fairly |- |Rounded 2x1 |2x1x1 |0.6 kg |1 block |Fairly |- |Rounded 2x4 |2x4x1 |2.2 kg |1 block |Fairly |- |Rounded 2x1x2 |2x1x2 |0.8 kg |2 blocks |Fairly |- |Rounded 2x4x2 |2x4x2 |3.9 kg |2 blocks |Fairly |- |Rounded Inverted 1x2 |1x2x1 |0.3 kg |1 block |Fairly |- | colspan="5" | |- |Rounded Corner 1x2 |1x2x1 |0.4 kg |1 block |Fairly |- |Rounded Corner 2x2x2 |2x2x2 |1.2 kg |2 blocks |Fairly |- |Rounded Corner Inverted 1x2 |1x2x1 |0.2 kg |1 block |Fairly |- | colspan="5" | |- |Wedge Corner 2x2x2 |2x2x2 |0.4 kg |45° & 45° |Fairly |- |Wedge Corner 2x2x1 |2x2x1 |0.2 kg |26.6° & 45° |Moderately |- |Wedge Corner 3x3x1 |3x3x1 |0.5 kg |18.4° & 45° |Very |- |Wedge Corner 4x4x1 |4x4x1 |0.8 kg |14° & 45° |Extremely |- | colspan="5" | |- |Inverted Corner 2x2x2 |2x2x2 |2.1 kg |45° & 45° |Fairly |- |Inverted Corner 1x2x2 |1x2x2 |1 kg |26.6° &45° |Fairly |- |Inverted Corner 1x3x3 |1x3x3 |2.4 kg |18.4° & 45° |Fairly |- |Inverted Corner 1x4x4 |1x4x4 |4.2 kg |14° & 45° |Fairly |} [[File:Aerodynamic Blocks.png|thumb|1020x1020px|All of the Aerodynamic Blocks]] 97bf12421e971fcb0183121bb56fc44b5485c42d 54 53 2023-08-03T16:38:02Z Lukkram 396381 wikitext text/x-wiki Aerodynamic Blocks are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds, as well as achieve interesting shapes. {| class="fandom-table" |+Aerodynamic Blocks !Name !Size !Weight !Angle/Radius !Aerodynamics |- |Wedge 1x2 |1x2x1 |0.3 kg |45° |Fairly |- |Wedge 2x1x2 |2x1x2 |0.6 kg |45° |Fairly |- |Wedge 2x2x2 |2x2x2 |1.2 kg |45° |Fairly |- |Wedge 2x4x2 |2x4x2 |2.5 kg |45° |Fairly |- |Wedge 2x1 |2x1x1 |0.3 kg |26.6° |Moderately |- |Wedge 2x2 |2x2x1 |0.6 kg |26.6° |Moderately |- |Wedge 2x4 |2x4x1 |1.2 kg |26.6° |Moderately |- |Wedge 3x1 |3x1x1 |0.5 kg |18.4° |Very |- |Wedge 3x4 |3x4x1 |1.9 kg |18.4° |Very |- |Wedge 4x1 |4x1x1 |0.6 kg |14° |Extremely |- |Wedge 4x4 |4x4x1 |2.5 kg |14° |Extremely |- | colspan="5" | |- |Rounded 1x2 |1x2x1 |0.5 kg |1 block |Fairly |- |Rounded 2x1 |2x1x1 |0.6 kg |1 block |Fairly |- |Rounded 2x4 |2x4x1 |2.2 kg |1 block |Fairly |- |Rounded 2x1x2 |2x1x2 |0.8 kg |2 blocks |Fairly |- |Rounded 2x4x2 |2x4x2 |3.9 kg |2 blocks |Fairly |- | colspan="5" | |- |Rounded Corner 1x2 |1x2x1 |0.4 kg |1 block |Fairly |- |Rounded Corner 2x2x2 |2x2x2 |1.2 kg |2 blocks |Fairly |- | colspan="5" | |- |Rounded Inverted 1x2 |1x2x1 |0.3 kg |1 block |Fairly |- |Rounded Corner Inverted 1x2 |1x2x1 |0.2 kg |1 block |Fairly |- | colspan="5" | |- |Wedge Corner 2x2x2 |2x2x2 |0.4 kg |45° & 45° |Fairly |- |Wedge Corner 2x2x1 |2x2x1 |0.2 kg |26.6° & 45° |Moderately |- |Wedge Corner 3x3x1 |3x3x1 |0.5 kg |18.4° & 45° |Very |- |Wedge Corner 4x4x1 |4x4x1 |0.8 kg |14° & 45° |Extremely |- | colspan="5" | |- |Inverted Corner 2x2x2 |2x2x2 |2.1 kg |45° & 45° |Fairly |- |Inverted Corner 1x2x2 |1x2x2 |1 kg |26.6° &45° |Fairly |- |Inverted Corner 1x3x3 |1x3x3 |2.4 kg |18.4° & 45° |Fairly |- |Inverted Corner 1x4x4 |1x4x4 |4.2 kg |14° & 45° |Fairly |} [[File:Aerodynamic Blocks.png|thumb|1020x1020px|All of the Aerodynamic Blocks]] 29b95708a5b9c78dcb608dc0edb204be21cedff3 Sandbox 0 39 252 2023-09-18T13:13:34Z Zonneschijn77 397978 i didnt change anything, i made this page. wikitext text/x-wiki Sandbox is a gamemode in trailmakers. It can be accessed by clicking Singleplayer or Multiplayer, then selecting sandbox. === Building === In sandbox you can't die, and have acces to all building pieces. (Except Cosmetic Blocks.) Players can use as many power cores as they want. === Maps === There currently are 5 Sandbox maps: Danger zone, Treasure Island, Test Zone, Airborne and High Seas. The Danger zone map and the Treasure Island map have fire rings in them, when players fly through every fire ring (with a vehicle) they get the Man in black achievement. [[File:Trailmakers Achievement (Man in black).png|alt=Man in black achievement. Picture of a fire ring.|thumb]] This article isn't done, you can edit it as you want. My second article ive made. 11bd17732dc8cd7e2aa79d932d757c82ac826cb9 Thruster Blocks 0 43 284 283 2023-10-23T13:09:00Z 194.73.107.131 0 Corrected improper use of 'then' to 'than'. wikitext text/x-wiki {{Stub}} There are 6 thruster blocks currently in Trailmakers. Those 6 blocks are: *[[Rocket Thruster]] *[[Mini-Thuster|Thruster]] *[[RAW Jet]] * [[Dragon Jet]] * [[Large Jet]] * [[Gimbal Jet]] === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Boat Engine, Underwater Propeller, Helicopter Engine, Stackable Helicopter Engine and the Gimbal Jet. Those ratings are: While most engines are powerful the Rocket Thruster and Thruster are the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |60 |- | Thruster | 80 |- |Gimbal Jet |220 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Large Jet |800 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |21.6 kg |- | Thruster | 28.6 kg |- | Gimbal Jet | 78.57167 kg (more precise) |- | Dragon Jet | 107.15 kg |- | RAW Jet | 268.4 kg |- |Large Jet |285.5 kg |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating, it has doubled cooling meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two thrusters. 15dc1cf21509f9b848ac9903d25a63a5fee2626c 285 284 2023-11-05T06:01:49Z 136.158.101.72 0 Correct spellings wikitext text/x-wiki There are 7 thruster blocks currently in Trailmakers. Those 7 blocks are: *[[Rocket Thruster]] *[[Small-Thruster|Siberian Thruster]] *[[Sodium Jet]] * [[German Jet]] * [[Large Jet]] * [[Glado Jet]] * [[Asian Jet]] === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Plane Engine, Space Propeller, Malaysian Engine, Stackable Malaysian Engine and the Glado Jet. Those ratings are: While most engines are powerful the Siberian Thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |600 |- | Siberian Thruster | 120 |- |Glado Jet | 300 |- | German Jet | 450 |- | Sodium Jet | 1700 |- |Large Jet |6000 |- |Asian Jet |70000 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |70.6 kg |- | Siberian Thruster | 34.6 kg |- | Glado Jet | 78.57167 kg (more precise) |- | German Jet | 107.15 kg |- | Sodium Jet | 268.4 kg |- |Large Jet |285.5 kg |- |Asian Jet |2340.1 kg |} To create neutral buoyancy using glados, the ratio is precisely 0.01245674740481 glado power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to a glado jet and set it to the value that the function is outputting. Interestingly, the Sodium Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the Sodium Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the Sodium Jet has revealed that after overcooling, it has doubled heating meaning that the consistent uptime is about 33% without overcooling. This still gives it more power than it's power core equivalent of two Siberian thrusters. df1672df1e557d3a31faf324b107372dad1777ac 286 285 2023-11-09T06:38:09Z 136.158.101.72 0 Idk wikitext text/x-wiki There are 7 thruster blocks currently in Trailmakers. Those 7 blocks are: *Rocket Thruster *[[Small-Thruster|Siberian Thruster]] *[[Sodium Jet]] * [[German Jet]] * Large Jet * [[Glado Jet]] * [[Asian Jet]] === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Plane Engine, Space Propeller, Malaysian Engine, Stackable Malaysian Engine and the Glado Jet. Those ratings are: While most engines are powerful the Siberian Thruster is the only exception {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |600 |- | Siberian Thruster | 120 |- |Glado Jet | 300 |- | German Jet | 450 |- | Sodium Jet | 1700 |- |Large Jet |6000 |- |Asian Jet |70000 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- ! Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |70.6 kg |- | Siberian Thruster | 34.6 kg |- | Glado Jet | 78.57167 kg (more precise) |- | German Jet | 107.15 kg |- | Sodium Jet | 268.4 kg |- |Large Jet |285.5 kg |- |Asian Jet |2340.1 kg |} To create neutral buoyancy using glados, the ratio is precisely 0.01245674740481 glado power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to a glado jet and set it to the value that the function is outputting. Interestingly, the Sodium Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the Sodium Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the Sodium Jet has revealed that after overcooling, it has doubled heating meaning that the consistent uptime is about 33% without overcooling. This still gives it more power than it's power core equivalent of two Siberian thrusters. 34629bc6aa1b458b3b2421c1045c5bbc46f71f99 287 286 2023-11-12T02:35:39Z CardZed 397965 Fixed page griefing. wikitext text/x-wiki There are 6 thruster blocks currently in Trailmakers. Those 6 blocks are: *Rocket Thruster *Mini Thruster *RAW Jet * Dragon Jet * Large Jet * Gimbal Jet === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Boat Engine, Underwater Propeller, Helicopter Engine, Stackable Helicopter Engine and the Gimbal Jet. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |60 |- | Mini Thruster | 80 |- |Gimbal Jet | 220 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Large Jet |800 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- !Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |70.6 kg |- |Mini Thruster | 34.6 kg |- |Gimbal Jet | 78.57167 kg (more precise) |- |Dragon Jet | 107.15 kg |- |RAW Jet | 268.4 kg |- |Large Jet |285.5 kg |- | | |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to add a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating. it has doubled heating meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two Mini Thrusters. 14c41556fafe0cd5c5aa0769922f18b73665d007 288 287 2023-11-12T02:39:08Z CardZed 397965 Gimbal jet rating, fixed empty row. wikitext text/x-wiki There are 6 thruster blocks currently in Trailmakers. Those 6 blocks are: *Rocket Thruster *Mini Thruster *RAW Jet * Dragon Jet * Large Jet * Gimbal Jet === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Boat Engine, Underwater Propeller, Helicopter Engine, and the Stackable Helicopter Engine. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |60 |- | Mini Thruster | 80 |- |Gimbal Jet | 220 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Large Jet |800 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- !Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |70.6 kg |- |Mini Thruster | 34.6 kg |- |Gimbal Jet | 78.57167 kg (more precise) |- |Dragon Jet | 107.15 kg |- |RAW Jet | 268.4 kg |- |Large Jet |285.5 kg |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to add a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating. it has doubled heating meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two Mini Thrusters. ddd81e8e844e24f8d782a4a986da8a66367fce25 Template:Bool 10 68 383 2023-11-03T07:50:53Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Bool]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{#switch:{{lc:{{{1|}}}}}|y|1|yes|true=y|#default={{#if:{{{1|}}}||{{{2|}}}}}}}</includeonly><noinclude>{{doc}} {{language info|en=Template:Bool}} </noinclude> 08bda7d46f97a71529fe2eea6893f1668fbdf584 Template:Category 10 77 405 2023-11-03T07:53:03Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Category]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- -->{{#if:{{langList|isOnWiki|{{{lang|{{lang|}}}}}}}|<!-- -->[[Category:<!-- -->{{{1|}}}/{{{lang|{{lang|}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{{2}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- the space here is needed for blank sortkeys -->|<!-- // loading glossary for this language: -->{{#if:{{#dplvar:_cate_glossary_{{{lang|{{lang|}}}}}}}|| {{category/db-{{{lang|{{lang|}}}}}}} }}<!-- -->[[Category:<!-- -->{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{1|}}}}}}}|{{tr|{{{1|}}}|lang={{{lang|{{lang|}}}}}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{2|}}}}}}}|{{tr|{{{2|}}}|lang={{{lang|{{lang|}}}}}}}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Templates}} {{language info|en=Template:Category}} </noinclude> 353882f9f8269d2efb786ee796f9bcf2f5604359 Template:Common 10 58 363 2023-11-03T07:53:35Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Common]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DISPLAYTITLE Display the translated page title for translation project pages and/or display the italicized page title. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // #var:__global__trp_displaytitle is set in {{translation projects}} // #var:__global__is_italic_title is set in {{italic title}} -->{{#vardefine:_displaytitle|<!-- -->{{#if:{{#var:__global__trp_displaytitle}}|<!-- // display the translated page title -->{{#if:{{#var:__global__is_italic_title}}|<!-- --><i>{{#var:__global__trp_displaytitle}}</i><!-- -->|<!-- -->{{#var:__global__trp_displaytitle}}<!-- -->}}<!-- -->{{#var:__global__trp_displaytitle_suffix}}<!-- -->|<!-- // display the regular title -->{{#if:{{#var:__global__is_italic_title}}|<!-- -->{{#ifeq:{{NAMESPACENUMBER}}|0||{{NAMESPACE}}:}}<i>{{PAGENAME}}</i><!-- don't italicize the namespace -->}}<!-- -->}}<!-- -->}}<!-- -->{{#if:{{#var:_displaytitle}}|{{DISPLAYTITLE:{{#var:_displaytitle}}|noreplace}}}}<!-- --></includeonly><!-- --><noinclude> This template is used for common processes on every page. It is called in {{tl|language info}}. {{category|Templates}} </noinclude> f78bf5339dd5b66ba156a2c44176f20e431f3609 Template:Error 10 69 385 2023-11-03T07:54:46Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Error]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- // localization info is autoloaded from Template:Error/l10n --><span class="error" data-source="{{{from|{{{source|}}}}}}" title="{{{title|}}}">{{l10n|error|intro}}{{{1|{{{text|}}}}}}</span><!-- -->{{#if:{{bool|{{{cate|y}}}}}|<!-- // general, common error cate -->[[Category:{{l10n|error|cate}}]]<!-- // specific error cate based on the source of the error -->{{#if:{{{from|{{{source|}}}}}}|[[Category:{{l10n|error|cate_from|$from$={{{from|{{{source|}}}}}}}}]]}}<!-- // other, custom error cates -->{{#fornumargs:k|v|<!-- iterate over all unnamed parameters -->{{#ifeq:{{#var:k}}|1||<!-- skip $1 -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->{{#forargs:cate|k|v|<!-- iterate over all parameters of the format "cate<number>", including $cate -->{{#if:{{isNumber|onlypositive=y|0{{#var:k}}}}|<!-- -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Formatting templates}} {{language info|en=Template:Error}} </noinclude> 39e03d8560d763dfd6699fb0f091ed8614c57034 Template:Ifexists 10 70 389 2023-11-03T07:56:12Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Ifexists]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{#if: {{#dpl:skipthispage = false | redirects = {{{redirects|include}}} | noresultsheader = 1 | title = {{{1|}}}}} | {{{3|}}} | {{{2|}}} }}</includeonly><noinclude>{{doc}} {{language info|en=Template:Ifexists}} </noinclude> 0e3c5bc19f1f8c0e766286883ad2bd1a2a87fe4a Template:IsNumber 10 76 403 2023-11-03T07:56:54Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:IsNumber]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{#rmatch:{{{1|}}}|{{#if:{{bool|{{{onlypositive|}}}}}|^\d+$|^-?\d+$}}|y}}</includeonly><noinclude>{{doc}} {{language info|en=Template:IsNumber}} </noinclude> 58acf6a9e41a46416c766f4d714f90a52953cf69 Template:L10n 10 63 373 2023-11-03T07:58:20Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:L10n]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki #REDIRECT [[template:Localization]] a22276c07ff24cff65d115a753ea16d8c92d06b5 Template:Flexstart 10 80 411 2023-11-03T08:36:04Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Flexstart]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><div style="<!-- ======= type: flexbox and/or flexitem ======= //parameter: {{{1}}}, 'item' for flexitem only (not a flexbox); 'inline' or 'inlinebox' for inline-flexbox; other values for flexbox -->{{#switch:{{{1|}}}<!-- -->|inlinebox|inline=display:inline-flex;<!-- -->|item=<!-- need nothing -->|#default=display:flex;<!-- -->}}<!-- ======= parameters for flexbox ======= -->{{#ifeq:{{{1}}}|item||<!-- only if $type != item //parameter: wrap, default value is 'wrap' -->{{#switch:{{{wrap|}}}<!-- -->|no|nowrap=flex-wrap:nowrap;<!-- -->|#default=flex-wrap:wrap;<!-- -->}}<!-- //paramter: direction, no need to set up default, just left blank to use css default. -->{{#switch:{{{direction|}}}<!-- -->|=<!-- Only if explicitly specified -->|row-reverse=flex-direction:row-reverse;<!-- -->|column=flex-direction:column;<!-- -->|column-reverse=flex-direction:column-reverse;<!-- -->|#default=flex-direction:row;<!-- -->}}<!-- //paramter: justify, no need to set up default, just left blank to use css default. -->{{#switch:{{{justify|}}}|<!-- -->|=<!-- Only if explicitly specified -->|left|flex-start=justify-content:flex-start;<!-- -->|right|flex-end=justify-content:flex-end;<!-- -->|justified|space-between=justify-content:space-between;<!-- -->|space-around=justify-content:space-around;<!-- -->|#default=justify-content:{{{justify|}}};<!-- -->}}<!-- //paramter: alignitems, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignitems|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-items:flex-start;<!-- -->|bottom|flex-end=align-items:flex-end;<!-- -->|middle=align-items:center;<!-- -->|#default=align-items:{{{alignitems|}}};<!-- -->}}<!-- //paramter: alignlines, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignlines|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-content:flex-start;<!-- -->|bottom|flex-end=align-content:flex-end;<!-- -->|justified|space-between=align-content:space-between;<!-- -->|#default=align-content:{{{alignlines|}}};<!-- -->}}<!-- -->}}<!-- end if $type != item ======= parameters for flexitem ======= //parameter: order -->{{#if:{{{order|}}}|<!-- -->order:{{{order|}}};<!-- -->}}<!-- //parameter: grow -->{{#if:{{{grow|}}}|<!-- -->flex-grow:{{{grow|}}};<!-- -->}}<!-- //parameter: shrink -->{{#if:{{{shrink|}}}|<!-- -->flex-shrink:{{{shrink|}}};<!-- -->}}<!-- //parameter: basis -->{{#if:{{{basis|}}}|<!-- -->flex-basis:{{{basis|}}};<!-- -->}}<!-- //paramter: alignself, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignself|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-self:flex-start;<!-- -->|bottom|flex-end=align-self:flex-end;<!-- -->|middle=align-self:center;<!-- -->|#default=align-self:{{{alignself|}}};<!-- -->}}<!-- ======= parameters for general css property or html attribute ======= //parameter: width -->{{#if:{{{width|}}}|width:{{{width|}}};}}<!-- //parameter: height -->{{#if:{{{height|}}}|height:{{{height|}}};}}<!-- //paramter: css / style -->{{#if:{{{css|{{{style|}}}}}}|{{{css|{{{style|}}}}}};}}<!-- //parameter: class arrtibute -->"{{#if:{{{cssclass|{{{class|}}}}}}|<nowiki/> class="{{{cssclass|{{{class|}}}}}}"}}<!-- //parameter: id arrtibute -->{{#if:{{{id|}}}|<nowiki/> id="{{{id|}}}"}}<!-- ending tag-->></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. {{category|Flexbox templates}} {{language info|en=Template:Flexstart}} </noinclude> 52c1286675565f2513542dbccfbc96b4414dd28a Template:Flexend 10 79 409 2023-11-03T08:36:14Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Flexend]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly></div></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. {{category|Flexbox templates}} {{language info|en=Template:Flexend}} </noinclude> 1bf8a3e7d576436497a47201ebd681739fc7d04c Template:Options/get 10 71 391 2023-11-03T09:03:59Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Options/get]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- $1: namespace, $2: key $1 $2 are not trimmed for better performance. auto init from {{<ns>/initOptions}}. -->{{#if:{{#var:optionsInitialized:{{{1|}}}}}||{{#if:{{{1|}}}|{{#vardefine:_| {{ {{{1|}}}/initOptions }} }}}}}}<!-- get option value -->{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:{{{2|}}}|<__invalid__>}}}}<!-- --></includeonly><noinclude> example: <pre> {{options/get|namespace|foo}} </pre> See {{tl|options}} for more info. {{language info|en=Template:Options/get}} </noinclude> 81dceb5875606d17e78e7f1eb92baf07950f48d1 Template:Options/init 10 72 393 2023-11-03T09:04:34Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Options/init]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- set flag: -->{{#vardefine:optionsInitialized:{{{1|}}}|y}}<!-- -->{{#vardefine:options:{{{1|}}}:<__invalid__>|{{error|Inexistent option key}}}}<!-- all $key=$default_value pairs -->{{#vardefine:optionsKeys:{{{1|}}}|}}<!-- -->{{#forargs:key:|$key|$value|<!-- -->{{#vardefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}{{#var:$key}},}}<!-- append to key list -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$key}}}}<!-- register key alias (for better performance) //default value: -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:y|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:n|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|#default=<!-- -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- -->}}<!-- -->{{#arraydefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}|,|unique}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- here $key is "name:value" -->}}<!-- //make an init snapshot. //don't use {{options/snap}} here to avoid template loop -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsSnap:{{{1|}}}:__RESET__:@@@@|{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:@@@@|<__invalid__>}}}}}}<!-- -->}}<!-- ==== doc mode: gen doc, table rows ==== -->{{#if:{{#var:__FLAG_OPTIONS_AUTODOC__}}|<!-- key name: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|<td><code>@@@@</code></td><td>}}<!-- -->}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- $key is alias, $value is origin key name. -->{{#vardefine:optionsDoc:{{#var:$value}}|{{#var:optionsDoc:{{#var:$value}}}}<code>{{#var:$key}}</code><br/>}}<!-- -->}}<!-- initial value: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|{{#var:optionsDoc:@@@@}}</td><td><code>{{#var:options:{{{1|}}}:@@@@|<i><small>(empty)</small></i>}}</code></td><td>}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- //here $key is "name:value" -->{{#vardefine:_key|{{#explode:{{#var:$key}}|:|0|2}}}}<!-- -->{{#vardefine:_from|{{#explode:{{#var:$key}}|:|1|2}}}}<!-- -->{{#vardefine:optionsDoc:{{#var:_key}}|{{#var:optionsDoc:{{#var:_key}}}}<code>{{#var:_from}}</code> → <code>{{#var:$value|<i><small>(empty)</small></i>}}</code><br/>}}<!-- -->}}<!-- // (bool:true) and (bool:false) -->{{#forargs:key:|$key|$value|<!-- -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>y</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>yes</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>on</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>n</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>off</code> → <code><i><small>(empty)</small></i></code><br/><!-- -->}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|#default=<!-- nothing -->}}<!-- -->}}<!-- -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|}}<!-- reset flag -->}}<!-- --></includeonly><noinclude> example: <pre> {{options/init|item<!-- -->|key:icons=yes<!-- default value of "icons" option is "yes" -->|key:small=no<!-- default value of "small" option is "no" -->|value:small:n=no<!-- value "n" for "small" is same as "no", {{options/set|item|small=n}} is same as {{options/set|item|small=no}} -->|key:style=<!-- default value of "style" is empty value. -->|alias:css=style<!-- "css" is an alias of "style", so {{options|item|css}} is same as {{options|item|style}} -->|key:wrap=(bool:true)<!-- bool value, default value is empty, empty value means true, nonempty value means false -->|key:nolink=(bool:false)<!-- default value is empty, e, nonempty value means false -->}} </pre> See {{tl|options}} for more info. {{language info|en=Template:Options/init}} </noinclude> 9a98f5969cdd42001db213a5a2d61adcf78d9c95 Template:Infocard/heading 10 83 417 2023-11-03T09:14:56Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Infocard/heading]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><div class="heading">{{{1|}}}</div></includeonly><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/heading}} </noinclude> e0a88b9d802d390bb6b6bdcb8f108b5c0924f005 Template:Fullurl 10 8 401 40 2023-11-03T09:24:20Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Fullurl]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- -->{{#if:{{{1|}}}|<!-- // prepare -->{{#vardefine:fullurl:encode|{{#if:{{{text|}}}|{{#if:{{bool|{{{noencode|}}}}}||y}}}}}}<!-- if $text is set and $noencode is not set to true, then encode the URL parameters -->{{#vardefine:fullurl:querystring|<!-- -->{{#forargs:|k|v|{{#switch:{{#var:k}}|1|text=|noencode=|#default=<!-- iterate over all parameters, skip $1, $text, and $noencode -->{{#if:{{#var:fullurl:encode}}|{{#vardefine:v|{{urlencode:{{#var:v}}|WIKI}}}}}}<!-- encode parameter value if necessary -->₪{{#if:{{isNumber|{{#var:k}}}}|{{#var:v}}|{{#var:k}}={{#var:v}}}}<!-- "value" for unnamed parameters, "key=value" for named ones -->}}}}<!-- -->}}<!-- -->{{#vardefine:fullurl:link|{{fullurl:{{{1|}}}|{{#lstsep:{{#var:fullurl:querystring}}|₪|&}}}}}}<!-- // output --><span class="plainlinks">{{#if:{{{text|}}}|[{{#var:fullurl:link}} {{{text}}}]|{{#var:fullurl:link}}}}</span><!-- -->}}<!-- end of if --></includeonly><!-- --><noinclude>{{doc}} {{language info|en=Template:Fullurl}} </noinclude> efffeeaa5df0135a763cc6c3124b47d572df1ea6 41 40 2024-01-10T15:22:04Z Pcj 1919 1 revision imported wikitext text/x-wiki <includeonly>{{#if: {{{nolink|}}} | <nowiki>http://help.gamepedia.com/index.php?title=</nowiki>{{{1}}}{{#if: {{{2|}}} | &{{{2}}} }} |<!-- --><span class="plainlinks">{{#if: {{{text|}}} | [ }}{{fullurl: {{{1}}} | {{{2|}}} }} {{#if: {{{text|}}} | {{{text}}}]}}</span>}}</includeonly><noinclude>{{doc}} [[Category:Formatting templates|{{PAGENAME}}]]</noinclude> 46367eacd22a6dce7076a2ab94d525b760c66e2b Engine Blocks 0 18 89 88 2023-11-05T05:36:25Z 136.158.101.72 0 Dimensions of RAW Engine. Wrong dimension. Not 2 x 4 x 2, it's 2 x 4 x 3. wikitext text/x-wiki {{Stub}} ==Bulldawg Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] High acceleration. Low top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} ==RAW Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 3 |} ==Dragon Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stubs]] f447b578ab9c8efaf7042a65ae284487dc73cef6 90 89 2023-11-05T05:46:10Z 136.158.101.72 0 Wrong names, Wrong Descriptions wikitext text/x-wiki ==Siberian Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] Medium Acceleration. Medium Top Speed. Useful in small builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 10 kg |- | Power || 560 |- | Dimensions || 2 x 2 x 1 |} ==German Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. Medium top speed. Useful in big builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 5 |- | Weight || 45 kg |- | Power || 1080 |- | Dimensions || 2 x 4 x 2 |} ==Asian Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 7 |- | Weight || 15 kg |- | Power || 10000 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stub]] 958e8e2b074290a7881f499c9b53670d99c624f8 91 90 2023-11-06T03:26:27Z 152.157.3.131 0 wikitext text/x-wiki ==bulldawg Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] Medium Acceleration. Medium Top Speed. Useful in small builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 10 kg |- | Power || 560 |- | Dimensions || 2 x 2 x 1 |} ==RAW Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. Medium top speed. Useful in big builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 5 |- | Weight || 45 kg |- | Power || 1080 |- | Dimensions || 2 x 4 x 2 |} ==dragon Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 7 |- | Weight || 15 kg |- | Power || 10000 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stub]] 7da5dc874347e0e6e2feb730ab0bc35de7d18b2b 92 91 2023-11-06T07:44:15Z 136.158.101.72 0 Added a message for the moderators (not actually me who messed it up but i just hope that they actually think it's me because the person who made this fandom made it look a biittt different from the rest wikitext text/x-wiki Im the guy who trolled you guys, sorry btw but the person who edited this did not know what the engine data actually is lol ==Siberian Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] Medium Acceleration. Medium Top Speed. Useful in small builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 10 kg |- | Power || 560 |- | Dimensions || 2 x 2 x 1 |} ==German Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. Medium top speed. Useful in big builds. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 5 |- | Weight || 45 kg |- | Power || 1080 |- | Dimensions || 2 x 4 x 2 |} ==Asian Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 7 |- | Weight || 15 kg |- | Power || 10000 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stub]] fe9281f7b08881fce9f29337a130129ab40a6735 93 92 2023-11-12T02:46:03Z CardZed 397965 Fixed griefing. wikitext text/x-wiki ==Bulldawg Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] High Acceleration. Low Top Speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} ==RAW Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 3 |} ==Dragon Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stub]] 624d0316b1ddf399b4ec35ef5b7ddb27f1e89e41 94 93 2024-01-16T15:56:01Z Pcj 1919 11 revisions imported wikitext text/x-wiki ==Bulldawg Engine== [[File:Bulldawg Engine.png|thumb|Bulldawg Engine]] High Acceleration. Low Top Speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 1 |- | Weight || 9.4 kg |- | Power || 333 |- | Dimensions || 2 x 2 x 1 |} ==RAW Engine== [[File:Raw Engine.png|thumb|Raw Engine]] Low acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 2 |- | Weight || 59.6 kg |- | Power || 1700 |- | Dimensions || 2 x 4 x 3 |} ==Dragon Engine== [[File:Dragon Engine.png|thumb|Dragon Engine]] High acceleration. High top speed. {| class="wikitable" |+ Engine Data |- | [[Power cores|Power Cores]]|| 3 |- | Weight || 25 kg |- | Power || 3333 |- | Dimensions || 2 x 2 x 2 |} [[Category:Stub]] 624d0316b1ddf399b4ec35ef5b7ddb27f1e89e41 Mini-Thuster 0 29 191 190 2023-11-29T13:21:32Z 177.125.107.61 0 /* Thruster */ wikitext text/x-wiki {{Stub}} == Thruster == [[File:TM Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] A small and cheap jet engine with low thrust. It used to be called "Mini-Thruster" but has been renamed to "Thruster" after the Wings and Weapons update {| class="fandom-table" |+Engine Data |- ![[Power ]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |28.6 kg |- !Lift / Weight |2.9 |- !Power / Size |20 |} The Thruster (mini-thruster) can be colored in both primary and secondary colors, as visible in the image. It is not powerfull, but with its reduced size it can be used for a variety of compact vehicles and setups. [[Category:Stubs]] [[Category:Thrust]] c027e0bff152b8c303bff0ebdbb70f0590797b9f Dragon Jet 0 17 81 80 2023-11-29T13:24:49Z 177.125.107.61 0 wikitext text/x-wiki {{Stub}} == Dragon Jet == [[File:TM Dragon Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine that does not overheat. The dragon jte is a very common jet in many aircraft builds, as it is a powerful jet engine, and unlike the RAW engine, it does not overheat, which gives the advantage of sustained thrust. However, with the Airborne DLC and enough space, it is easily repleaceble by the Large Jet engine. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |30 kg |- !Power |300 |- !Dimensions |2 x 3 x 2 |- | colspan="2" | |- !Lifting Capacity |106.7 kg |- !Lift / Weight |3.6 |- !Power / Size |25 |} [[Category:Stubs]] [[Category:Thrust]] 48d8816582457819f52e0f569873db87dfdc136f 82 81 2024-01-16T15:56:00Z Pcj 1919 7 revisions imported wikitext text/x-wiki {{Stub}} == Dragon Jet == [[File:TM Dragon Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine that does not overheat. The dragon jte is a very common jet in many aircraft builds, as it is a powerful jet engine, and unlike the RAW engine, it does not overheat, which gives the advantage of sustained thrust. However, with the Airborne DLC and enough space, it is easily repleaceble by the Large Jet engine. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |30 kg |- !Power |300 |- !Dimensions |2 x 3 x 2 |- | colspan="2" | |- !Lifting Capacity |106.7 kg |- !Lift / Weight |3.6 |- !Power / Size |25 |} [[Category:Stubs]] [[Category:Thrust]] 48d8816582457819f52e0f569873db87dfdc136f RAW Jet 0 34 227 226 2023-11-29T13:28:35Z 177.125.107.61 0 wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. After running 1.16 seconds goes into 3 second cooldown. Its cooldown is commonly know as the "Overheat" period, in which it does not give any thrust. It is commonly used as a "boost jet" for rally cars and racing vehicles. Although very powerful, more sustainable alternatives for aircraft are Dragon Jet and Large Jet engine. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] [[Category:Thrust]] 0e059379dc546625a0c17b2c4e4b03bd30b02006 Template:Infocard 10 57 361 2024-01-04T20:14:40Z {{Infocard}}>Rye Greenwood 0 internal refactoring (tweaked variable names for colors across all infocard subtemplates, using {{infocard/mainheading}} now instead of manual code) but no changes in output, improved code readability, +comments wikitext text/x-wiki <includeonly><!-- // predefined color keywords -->{{#vardefine:infocard:color_melee|#d20000}}<!-- -->{{#vardefine:infocard:color_warrior|{{#var:infocard:color_melee}}}}<!-- -->{{#vardefine:infocard:color_ranged|#21a08d}}<!-- -->{{#vardefine:infocard:color_ranger|{{#var:infocard:color_ranged}}}}<!-- -->{{#vardefine:infocard:color_magic|#9d0d79}}<!-- -->{{#vardefine:infocard:color_mage|{{#var:infocard:color_magic}}}}<!-- -->{{#vardefine:infocard:color_summoning|#066aff}}<!-- -->{{#vardefine:infocard:color_summon|{{#var:infocard:color_summoning}}}}<!-- -->{{#vardefine:infocard:color_summoner|{{#var:infocard:color_summoning}}}}<!-- // characteristic "terraria" color -->{{#vardefine:infocard:color_terraria|var(--theme-accent-color)}}<!-- CSS variable to support light and dark themes // default color -->{{#vardefine:infocard:color_default|var(--custom-accent-border-color)}}<!-- CSS variable to support light and dark themes // translate theme and color parameters according to the predefined keywords if possible, otherwise leave them as-is -->{{#vardefine:infocard:color|{{#var:infocard:color_{{lc:{{{theme|{{{color|}}}}}}}}|{{{theme|{{{color|}}}}}}}}}}<!-- -->{{#vardefine:infocard:color-all|{{#var:infocard:color_{{lc:{{{theme|}}}}}|{{{theme|}}}}}}}<!-- --><div class="infocard clearfix {{{class|}}}" style="{{{css|{{{style|}}}}}}" id="{{{id|}}}"><!-- // minicard to the side -->{{#if:{{{image|{{{imagealt|}}}}}}|<!-- --><div class="card"><!-- --><div class="image clearfix" style="width:{{{size|250px}}}">{{{imagealt|[[File:{{{image|}}}|{{{size|250px}}}|link=]]}}}</div><!-- // there are 3 text parts to display in the minicard: intro, textlist, outro // textlist is comprised of headings and texts and is defined via "card_" parameters, e.g. "|card_foo=Heading|foo=Text" -->{{#vardefine:infocard:textlist|}}<!-- // concatenate all "card_x" and "x" parameters into one big textlist -->{{#forargs:card_|key|heading|<!-- e.g. with "|card_foo=Heading|foo=Text", #var:key is "foo" and #var:heading is "Heading" -->{{#vardefine:infocard:textlist|{{#var:infocard:textlist}}<!-- concat --><dt>{{#var:heading}}</dt><!-- --><dd>{{{ {{#var:key}}|}}}</dd><!-- e.g. "Text" with "|card_foo=Heading|foo=Text" -->}}<!-- -->}}<!-- // open the text content <div> of the minicard -->{{#vardefine:infocard:minicard_closingtag|}}<!-- -->{{#if:{{{cardintro|{{{cardoutro|{{#var:infocard:textlist}}}}}}}}|<!-- --><div class="content clearfix" style="width:{{{size|250px}}}">{{#vardefine:infocard:minicard_closingtag|</div>}}<!-- -->}}<!-- // display part 1: intro text -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardintro|}}}|<!-- --><div class="intro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardintro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:closingtag}}<!-- // display part 2: textlist -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{#var:infocard:textlist}}|<!-- --><dl>{{#vardefine:infocard:closingtag|</dl>}}<!-- -->}}<!-- -->{{#var:infocard:textlist}}<!-- -->{{#var:infocard:closingtag}}<!-- // display part 3: outro -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardoutro|}}}|<!-- --><div class="outro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardoutro|}}}<!-- -->{{#var:infocard:closingtag}}<!-- // close the text content <div> of the minicard -->{{#var:infocard:minicard_closingtag}}<!-- --></div><!-- -->}}<!-- // main heading of the infocard -->{{#if:{{{name|}}}|<!-- -->{{infocard/mainheading<!-- -->|name={{{name|}}}<!-- -->|subname={{{subname|}}}<!-- -->|namenote={{{namenote|}}}<!-- -->|type={{{type|}}}<!-- -->|padding={{{size|}}}<!-- -->|icon={{#if:{{{image|{{{imagealt|}}}}}}||{{{icon|}}}}}<!-- -->|iconalt={{#if:{{{image|{{{imagealt|}}}}}}||{{{iconalt|}}}}}<!-- -->}}<!-- -->}}<!-- // intro text -->{{#vardefine:infocard:intro_closingtag}}<!-- -->{{#if:{{{intro|}}}|<!-- --><div class="intro" style="{{{intro_css|{{{intro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:intro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{intro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:intro_closingtag}}<!-- // boxes // these are defined via "title_" parameters, e.g. "|title_foo=Box heading|foo=Box text" -->{{#forargs:title_|key|heading|<!-- e.g. with "|title_foo=Box heading|foo=Box text", #var:key is "foo" and #var:heading is "Box heading" -->{{infocard/box|title={{#var:heading}}|{{{ {{#var:key}}|}}}}}<!-- -->}}<!-- // outro text -->{{#vardefine:infocard:outro_closingtag}}<!-- -->{{#if:{{{outro|{{{text|}}}}}}|<!-- --><div class="outro" style="{{{outro_css|{{{outro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:outro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{outro|{{{text|}}}}}}<!-- -->{{#var:infocard:outro_closingtag}}<!-- --></div><!-- --></includeonly><noinclude> {{doc}} {{category|Formatting templates}} {{language info|en=Template:Infocard}} </noinclude> c8de6606fd1e985fc5f630b8dfc9a56ebb4e30cf Template:Infocard/box 10 81 413 2024-01-04T20:14:41Z {{Infocard}}>Rye Greenwood 0 internal refactoring (tweaked variable names for colors across all infocard subtemplates), improved code readability wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/box}} </noinclude> 26edf2e29edb5e7afe26d930d1c3f74dacb3a746 Template:Infocard/mainheading 10 84 419 2024-01-04T20:57:13Z {{Infocard}}>Rye Greenwood 0 Protected "[[Template:Infocard/mainheading]]": Highly transcluded page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- --><div class="main-heading" style="background:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};border-right-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};padding-right:{{{padding|0}}};{{{style|{{{css|}}}}}}"><!-- // display text --><div class="hgroup"><!-- -->{{#if:{{{type|}}}|<div>{{{type}}}</div>}}<!-- --><div class="main"><!-- -->{{{1|{{{name|}}}}}}<!-- -->{{#if:{{{namenote|}}}|<span class="namenote">&#32;{{{namenote}}}</span>}}<!-- --></div><!-- -->{{#if:{{{subname|}}}|<div>{{{subname}}}</div>}}<!-- --></div><!-- // display icon // $icon and $iconalt might be set to blank values, e.g. when this template is called from {{infocard}} or {{infocard/start}}, hence the #or -->{{#if:{{{icon|}}}{{{iconalt|}}}|<!-- --><div class="{{{iconclass|}}} icon clearfix" style="--iconsize: {{{iconsize|auto}}}">{{#or:{{{iconalt|}}}|[[File:{{{icon|}}}|link=]]}}</div><!-- -->}}<!-- --></div><!-- --></includeonly><!-- --><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/mainheading}} </noinclude> 26cd9dfa770c9e863ffdb04a2f357effbcba2410 Template:Infocard/doc 10 89 429 2024-01-04T21:33:07Z {{Infocard}}>Rye Greenwood 0 /* Standard usage */ Correction: "default" is an actual predefined color, not the real default value. wikitext text/x-wiki This template is used to display content in an "info card", which may be visually more appealing than plain text in certain contexts. It has several subtemplates: * For documentation of {{tl|infocard/box}}, see [[#Custom boxes|Custom boxes]]. * For documentation of {{tl|infocard/mainheading}} and {{tl|infocard/heading}}, see [[#Custom headings|Custom headings]]. * For documentation of {{tl|infocard/start}}, {{tl|infocard/end}}, {{tl|infocard/box/start}}, and {{tl|infocard/box/end}}, see [[#Start and end|Start and end]]. == Standard usage == <div class="mw-code">{{(}} '''infocard'''<br/><!-- --><br/>| theme = ''&lt;theme color&gt;''<!-- --><br/>| color = ''&lt;theme color&gt;''<!-- --><br/>| class = ''&lt;custom CSS classes&gt;''<!-- --><br/>| ''style / css'' = ''&lt;custom CSS rules&gt;''<!-- --><br/>| id = ''&lt;HTML ID&gt;''<!-- --><br/><!-- --><br/>| name = ''&lt;main heading text&gt;''<!-- --><br/>| type = ''&lt;smaller text above main heading&gt;''<!-- --><br/>| namenote = ''&lt;smaller text after main heading&gt;''<!-- --><br/>| subname = ''&lt;smaller text below main heading&gt;''<!-- --><br/><!-- --><br/>| icon = ''&lt;image name of icon next to main heading&gt;''<!-- --><br/>| iconalt = ''&lt;custom icon display&gt;''<!-- --><br/>| iconsize = ''&lt;icon size&gt;''<!-- --><br/>| iconclass = ''&lt;custom CSS classes for icon&gt;''<!-- --><br/><!-- --><br/>| intro = ''&lt;text above boxes&gt;''<!-- --><br/>| ''intro_style / intro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/>| ''title_&lt;key1&gt; / title_&lt;key2&gt; / ...'' = ''&lt;box title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;box content&gt;''<!-- --><br/>| ''text / outro'' = ''&lt;text below boxes&gt;''<!-- --><br/>| ''outro_style / outro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/><!-- --><br/>| size = ''&lt;minicard width&gt;''<!-- --><br/>| image = ''&lt;minicard image name&gt;''<!-- --><br/>| imagealt = ''&lt;custom minicard image display&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text above sub-titles&gt;''<!-- --><br/>| ''card_&lt;key1&gt; / card_&lt;key2&gt; / ...'' = ''&lt;minicard sub-title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;text below respective minicard sub-title&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text below sub-titles&gt;''<!-- --><br/><!-- --><br/>{{)}}</div> ; theme, color Color of the heading bars in the infocard. <code>$theme</code> affects both the card's principal heading and the headings of boxes, whereas <code>$color</code> only affects the card's principal heading. Values can be any valid CSS color (e.g. <code>#E4F0F7</code>, <code>red</code>, <code>rgba(0,0,0,0.3)</code>), or one of these predefined shortcuts (mainly intended for [[Guide:Class setups]]): {| class="wikitable" | {{dotlist|<code>melee</code>|<code>warrior</code>}} | {{color box|text=y|#D20000}} |- | {{dotlist|<code>ranged</code>|<code>ranger</code>}} | {{color box|text=y|#21A08D}} |- | {{dotlist|<code>magic</code>|<code>mage</code>}} | {{color box|text=y|#9D0D79}} |- | {{dotlist|<code>summoning</code>|<code>summon</code>|<code>summoner</code>}} | {{color box|text=y|#066AFF}} |- | {{dotlist|<code>terraria</code>}} | {{color box|text=y|var(--theme-accent-color)}} |- | {{dotlist|<code>default</code>}} | {{color box|text=y|var(--custom-accent-border-color)}} |} If omitted, the default value is {{color box|text=y|var(--theme-highlight-background)}}. ; class CSS class(es) to add to the infocard. Values can be any custom classes and/or these special classes: * <code>compact</code>: Reduces the size of the infocard somewhat, in particular the heading. * <code>auto-width</code>: By default, the infocard occupies the entire width of the article, potentially overlapping floating elements like an image thumbnail. This class causes it to only take up available space, i.e. not overlap floating elements. * <code>biome</code>: Designed for the special infocard format used on biomes' and events' pages (groups of boxes laid out in a flexbox format). See many pages in [[:Category:Environments]] for examples. ; style/css Custom styling for the infocard. ; id ID attribute for the infocard. Can be used for more complex styling via CSS, or for directly linking to the infocard (also see {{tl|anchor}}). ; name Most prominent heading of the infocard. ; type Smaller text above <code>$name</code>, to be used for grouping infocards. ; namenote Smaller text directly after <code>$name</code>, for supplemental information. ; subname Smaller text below <code>$name</code>, for supplemental information. ; icon File name of the icon to be displayed to the right of the infocard's heading, without <code><nowiki>[[File:</nowiki></code> syntax (just the file name). ; iconalt By default, the icon is displayed as <code><nowiki>[[File:$icon|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the icon. ; iconsize Size of the icon in any valid CSS length (e.g. <code>20px</code>, <code>1.5em</code>), default is <code>auto</code>. ; iconclass CSS class(es) to add to the icon. ; intro Main content of the infocard. Will be displayed above any potential boxes. ; intro_style/intro_css Custom styling for the <code>$intro</code> text. ; text/outro Main content of the infocard. Will be displayed below any potential boxes. ; outro_style/outro_css Custom styling for the <code>$text</code>/<code>$outro</code> text. ; title_&lt;key&gt;, &lt;key&gt; Boxes to be displayed between <code>$intro</code> and <code>$text</code>/<code>$outro</code>. Assign each box an identifier (a "key"), then use the parameter <code>$title_&lt;key&gt;</code> for the heading of the box and the parameter <code>$&lt;key&gt;</code> for the content of the box. For instance, use <code>| title_box1 = First box | box1 = Lorem ipsum</code> to display a box with the heading "First box" and the content "Lorem ipsum". <code>box1</code> is the identifier ("key") in this example. ; image Enables a "mini card" to the side of the infocard which consists of an image (as defined by this parameter, without <code><nowiki>[[File:</nowiki></code> syntax) and potentially additional text below it. If the minicard is enabled, the <code>$icon</code> will not be displayed, because they both occupy the same spot. ; imagealt By default, the image is displayed as <code><nowiki>[[File:$image|$size|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the image. ; size Width of the image/minicard (without border): * If <code>$image</code> is used, the image will be as wide as the minicard. The value for <code>$size</code> must be in pixels (because it must conform to the <code><nowiki>[[File:</nowiki></code> syntax). * If <code>$imagealt</code> is used, <code>$size</code> will only affect the width of the minicard, as the image width is custom. The value for <code>$size</code> can be any valid CSS length (e.g. <code>200px</code>, <code>5em</code>). The default value is <code>250px</code>. ; cardintro Main content of the minicard. Will be displayed above any potential sub-headings. ; cardoutro Main content of the minicard. Will be displayed below any potential sub-headings. ; card_&lt;key&gt;, &lt;key&gt; Sub-headings to be displayed between <code>$cardintro</code> and <code>$cardoutro</code>. Assign each sub-heading an identifier (a "key"), then use the parameter <code>$card_&lt;key&gt;</code> for the heading and the parameter <code>$&lt;key&gt;</code> for the text below the heading. For instance, use <code>| card_part1 = First sub-heading | part1 = Lorem ipsum</code> to display a sub-heading "First sub-heading" and text "Lorem ipsum" below it. <code>part1</code> is the identifier ("key") in this example. === Visualization === This is a visualization of what part is affected by each parameter: {{infocard |type=<code><nowiki>{{{type}}}</nowiki></code> |name=<code><nowiki>{{{name}}}</nowiki></code> |namenote=<code><nowiki>{{{namenote}}}</nowiki></code> |subname=<code><nowiki>{{{subname}}}</nowiki></code> |imagealt=<div style="padding: 70px 0.5em;text-align: center; background: var(--theme-background-accent)"><code><nowiki>{{{image}}}</nowiki></code> or <code><nowiki>{{{imagealt}}}</nowiki></code><br/><br/>With <code><nowiki>{{{icon}}}</nowiki></code> or <code><nowiki>{{{iconalt}}}</nowiki></code>, this will be a simple icon instead of a full minicard.</div> |size=300px |cardintro=<code><nowiki>{{{cardintro}}}</nowiki></code> |card_index1=<code><nowiki>{{{card_<key1>}}}</nowiki></code> |index1=<code><nowiki>{{{<key1>}}}</nowiki></code> |card_index2=<code><nowiki>{{{card_<key2>}}}</nowiki></code> |index2=<code><nowiki>{{{<key2>}}}</nowiki></code> |card_index3=... |index3=... |cardoutro=<code><nowiki>{{{cardoutro}}}</nowiki></code> |intro=<code><nowiki>{{{intro}}}</nowiki></code> |title_keyA=<code><nowiki>{{{title_<keyA>}}}</nowiki></code> |keyA=<code><nowiki>{{{<keyA>}}}</nowiki></code> |title_keyB=<code><nowiki>{{{title_<keyB>}}}</nowiki></code> |keyB=<code><nowiki>{{{<keyB>}}}</nowiki></code> |title_keyC=<code><nowiki>{{{title_<keyC>}}}</nowiki></code> |keyC=<code><nowiki>{{{<keyC>}}}</nowiki></code> |title_keyD=<code><nowiki>...</nowiki></code> |keyD=<code><nowiki>...</nowiki></code> |outro=<code><nowiki>{{{outro}}}</nowiki></code> or <code><nowiki>{{{text}}}</nowiki></code> }} === Examples === ==== Simple ==== <pre>{{ infocard | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Icon ==== <pre>{{ infocard | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Boxes ==== <pre>{{ infocard | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }} ==== Minicard ==== <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }}</pre> {{ infocard | style = margin-top: 0.5em | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }} == Custom boxes == The standard layout of an infocard's content is as described above: intro – boxes – outro. Because this can be limiting, it is possible to manually create boxes in the intro and outro. The subtemplate used for this is {{tl|infocard/box}}. <code>{{(}} '''infocard/box''' | title = ''&lt;box heading&gt;'' | ''&lt;box contents&gt;'' | color = ''&lt;theme color&gt;'' | titlealt = ''&lt;custom box heading format&gt;'' | class = ''&lt;custom CSS classes&gt;'' | ''style/css'' = ''&lt;custom styling&gt;'' {{)}}</code> ; title Heading of the box. ; First unnamed parameter Contents of the box. ; color Color of the heading bar; see [[#Standard usage|above]] for details. ; titlealt Customize the format of the heading completely. See the source code of [[Template:Infocard/box]] for the default format and how this parameter overrides it. ; class CSS class(es) to add to the box. ; style/css Custom styling for the box. === Examples === ==== Simple ==== <pre>{{ infocard | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | The Underworld is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | [[The Underworld]] is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }} ==== Nested boxes ==== <pre>{{ infocard | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }} == Custom headings == It is possible to replicate the standard heading at the top of the infocard elsewhere inside it. The subtemplate used for this is {{tl|infocard/mainheading}}. <code>{{(}} '''infocard/mainheading''' | ''&lt;main heading text&gt;'' | type = ''&lt;smaller text above&gt;'' | namenote = ''&lt;smaller text after&gt;'' | subname = ''&lt;smaller text below&gt;'' | color = ''&lt;theme color&gt;'' | icon = ''&lt;icon file name&gt;'' | iconalt = ''&lt;custom icon display&gt;'' | iconsize = ''&lt;icon size&gt;'' | iconclass = ''&lt;custom CSS classes for icon&gt;'' {{)}}</code> These parameters are exactly like the ones used for {{tl|nl=y|infocard}} (except that {{tl|nl=y|infocard/mainheading}} also accepts an unnamed parameter 1, as an alternative for <code>$name</code>). See [[#Standard usage|above]] for their descriptions. An additional helper subtemplate is {{tl|infocard/heading}}, which displays a simple, less prominent heading anywhere in the infocard. === Examples === See [[#Examples|above]] for more examples of heading variations. <pre>{{ infocard | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }}</pre> {{ infocard | style = margin-top: 0.5em | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }}</pre> {{ infocard | style = margin-top: 0.5em | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }} == Start and end == For more complex and convoluted infocards, it is not practical to pass content to the template via the <code>$text</code>/<code>$intro</code>/<code>$outro</code> parameters. These have the usual limitations of template parameters, like pipes (<code>|</code>) and equals signs (<code>=</code>) having to be escaped, the post-expand include size being increased, etc. To circumvent these limitations, use the subtemplates {{tl|infocard/start}} and {{tl|infocard/end}}. The start subtemplate has the exact same parameters as the normal {{tl|nl=y|infocard}} and the end subtemplate has no parameters. Thanks to {{(}}[[#Custom headings|infocard/mainheading]]{{)}} and {{(}}[[#Custom boxes|infocard/box]]{{)}}, it is still possible to use headings and boxes in an infocard transcluded like this. The regular way to transclude an infobox as described above would be this: <pre> {{infocard | name = Guide | text = The first NPC encountered by the player. }} </pre> With start and end templates, it would look like this: <pre> {{infocard/start}} {{infobox/mainheading|Guide}} The first NPC encountered by the player. {{infocard/end}} </pre> The output is identical. Similar subtemplates exist for {{(}}[[#Custom boxes|infocard/box]]{{)}}: {{tl|infocard/box/start}} and {{tl|infocard/box/end}}. They similarly allow a more convoluted setup of a box in an infocard. == Options == {{options/autodoc|note_box-css=Default css for {{tl|infocard/box}}.}} == Subpages == <div style="-webkit-column-count:3;column-count:3;"> {{#dpl: |namespace=Template |titlematch=Infocard/% |notcategorymatch=% translation |nottitlematch=%/doc% |ordermethod=title |columns=3 }} </div> <noinclude> {{category|Template documentation}} {{language info|en=Template:Infocard/doc}} </noinclude> 2c2cb1b1e8f0721ec1df19bf83835b764c80fbc0 MediaWiki:Privacy 8 3 3 2024-01-10T15:20:54Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Disclaimers 8 4 4 2024-01-10T15:21:01Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Copyright 8 5 5 2024-01-10T15:21:16Z Pcj 1919 Created page with "<div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div>" wikitext text/x-wiki <div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div> 7290744eba73e7f9987d32ef26b3490f5bea3537 Blocks 0 6 37 36 2024-01-10T15:22:04Z Pcj 1919 31 revisions imported wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels (or landing gear) can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle, although, aerodynamically? not the best. keep the speed to the lighter, smaller wheels . ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === Lights === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] [[Category:Balance Blocks]] [[Category:Inflatable Balloon]] ead69a41a3cecebc32bc275cf15403008a4e7f95 Template:Ambox 10 7 39 38 2024-01-10T15:22:04Z Pcj 1919 1 revision imported wikitext text/x-wiki <onlyinclude><includeonly><table style="{{{style|}}}" class="plainlinks ambox {{#ifeq:{{{format|}}}|tiny|ambox-tiny}} {{#switch:{{{border|}}} | red = ambox-red | orange = ambox-orange | yellow = ambox-yellow | purple = ambox-purple | blue = ambox-blue | green = ambox-green | gray = ambox-gray | #default = ambox-green }} {{{class|}}}"> <tr> <td class="ambox-image">{{{image|[[File:{{{icon|Information.png{{!}}48px}}}|{{#ifeq:{{{format|}}}|tiny|x20px}}|alt=]]}}}</td> <td class="ambox-text">{{{type|}}} {{#if:{{{info|}}}|{{#ifeq:{{{format|}}}|tiny||<div class="amsmalltext"> {{{info}}} </div>}}}}</td></tr></table></includeonly></onlyinclude><noinclude> {{doc}} [[Category:Notice templates]]</noinclude> 32fe627ecb6c9c20a4757a890f8874f6dceea1b2 Template:Stub 10 9 43 42 2024-01-10T15:22:04Z Pcj 1919 1 revision imported wikitext text/x-wiki <div class="nomobile">{{Ambox | image = [[File:Icon-stub.svg|44px|Stub]] | type = ''This article is a [[:Category:Stubs|stub]]. You can help {{SITENAME}} by {{fullurl|{{FULLPAGENAME}}|action{{=}}edit|text=expanding it}}.'' | border = orange }}<br /></div><!-- --><div class="mobileonly" style="text-align:center">''This article is a [[:Category:Stubs|stub]]. You can help {{SITENAME}} by {{fullurl|{{FULLPAGENAME}}|action{{=}}edit|text=expanding it}}.''<br /><br /></div><includeonly>[[Category:Stubs]]</includeonly><noinclude> {{doc}} [[Category:Notice templates]]</noinclude> f82226ac73001c29971eabb1d24c931b25cbd6e2 Category:Pages with broken file links 14 10 44 2024-01-10T15:22:49Z Pcj 1919 Created page with "__HIDDENCAT__" wikitext text/x-wiki __HIDDENCAT__ 183b9c38bff80327776bd180634fccfd19cf616f Aerodynamic Blocks 0 12 55 54 2024-01-16T15:55:59Z Pcj 1919 8 revisions imported wikitext text/x-wiki Aerodynamic Blocks are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds, as well as achieve interesting shapes. {| class="fandom-table" |+Aerodynamic Blocks !Name !Size !Weight !Angle/Radius !Aerodynamics |- |Wedge 1x2 |1x2x1 |0.3 kg |45° |Fairly |- |Wedge 2x1x2 |2x1x2 |0.6 kg |45° |Fairly |- |Wedge 2x2x2 |2x2x2 |1.2 kg |45° |Fairly |- |Wedge 2x4x2 |2x4x2 |2.5 kg |45° |Fairly |- |Wedge 2x1 |2x1x1 |0.3 kg |26.6° |Moderately |- |Wedge 2x2 |2x2x1 |0.6 kg |26.6° |Moderately |- |Wedge 2x4 |2x4x1 |1.2 kg |26.6° |Moderately |- |Wedge 3x1 |3x1x1 |0.5 kg |18.4° |Very |- |Wedge 3x4 |3x4x1 |1.9 kg |18.4° |Very |- |Wedge 4x1 |4x1x1 |0.6 kg |14° |Extremely |- |Wedge 4x4 |4x4x1 |2.5 kg |14° |Extremely |- | colspan="5" | |- |Rounded 1x2 |1x2x1 |0.5 kg |1 block |Fairly |- |Rounded 2x1 |2x1x1 |0.6 kg |1 block |Fairly |- |Rounded 2x4 |2x4x1 |2.2 kg |1 block |Fairly |- |Rounded 2x1x2 |2x1x2 |0.8 kg |2 blocks |Fairly |- |Rounded 2x4x2 |2x4x2 |3.9 kg |2 blocks |Fairly |- | colspan="5" | |- |Rounded Corner 1x2 |1x2x1 |0.4 kg |1 block |Fairly |- |Rounded Corner 2x2x2 |2x2x2 |1.2 kg |2 blocks |Fairly |- | colspan="5" | |- |Rounded Inverted 1x2 |1x2x1 |0.3 kg |1 block |Fairly |- |Rounded Corner Inverted 1x2 |1x2x1 |0.2 kg |1 block |Fairly |- | colspan="5" | |- |Wedge Corner 2x2x2 |2x2x2 |0.4 kg |45° & 45° |Fairly |- |Wedge Corner 2x2x1 |2x2x1 |0.2 kg |26.6° & 45° |Moderately |- |Wedge Corner 3x3x1 |3x3x1 |0.5 kg |18.4° & 45° |Very |- |Wedge Corner 4x4x1 |4x4x1 |0.8 kg |14° & 45° |Extremely |- | colspan="5" | |- |Inverted Corner 2x2x2 |2x2x2 |2.1 kg |45° & 45° |Fairly |- |Inverted Corner 1x2x2 |1x2x2 |1 kg |26.6° &45° |Fairly |- |Inverted Corner 1x3x3 |1x3x3 |2.4 kg |18.4° & 45° |Fairly |- |Inverted Corner 1x4x4 |1x4x4 |4.2 kg |14° & 45° |Fairly |} [[File:Aerodynamic Blocks.png|thumb|1020x1020px|All of the Aerodynamic Blocks]] 29b95708a5b9c78dcb608dc0edb204be21cedff3 Biomes 0 13 61 60 2024-01-16T15:55:59Z Pcj 1919 5 revisions imported wikitext text/x-wiki {{Stub}} '''Biomes''' are the different regions in [[Trailmakers]]. Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. Trailmakers contains a variety of biomes. usually each biome has its own set of challenges water needs boats and or subs. sky needs planes or blimps. land needs tanks or cars. [[Category:Trailmakers]] 6d0e33781ae780f74891881d55b40243031283aa Blueprints 0 14 68 67 2024-01-16T15:55:59Z Pcj 1919 6 revisions imported wikitext text/x-wiki '''Blueprints''' are saved [[Building|built creations]] in [[Trailmakers]], and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. == Importing == If someone sends you a blueprint, they can be downloaded by: :#Save the image to a known location :#In Trailmakers go to the Blueprints section :#Click the import arrow (depicted as a box with an arrow entering it) :#Find the file you saved prior and click "open" == Exporting == To export your blueprint and send it to someone else to import follow these steps: :# :#Hover over a saved vehicle :#Click the white box that appears above it (depicted as a box with an arrow leaving it) :#Save to a known location :#Send it to someone [[Category:Building]] a129c6a8a498ac7ebb1609c2ea480173e3b89223 Building 0 15 72 71 2024-01-16T15:55:59Z Pcj 1919 3 revisions imported wikitext text/x-wiki {{Stub}} '''Building''' is a core aspect of [[Trailmakers]]. The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ==Blueprints== Blueprints are saved built creations in Trailmakers, and are the key way of sharing vehicles. Blueprints are manifested as .PNG files, with the vehicle data encoded into them. For more detailed information about this, please visit its main article: [[Blueprints]] [[Category:Trailmakers]] dfb0777b9d58df29dab5afd9f80b01110b9349ee Decals 0 16 74 73 2024-01-16T15:55:59Z Pcj 1919 1 revision imported wikitext text/x-wiki {{Stub}} Decals are decorations you can add to blocks. == Decals == There are several decal categories in the game trailmakers. == How to use decals? == # Select a part # After selecting a part, Select the Decals button that appears # Select a decal and change the position for that decal == Resources == 42b6c1d66b7dc02505895ca753032b051093f20d Frame Blocks 0 19 101 100 2024-01-16T15:56:01Z Pcj 1919 6 revisions imported wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- | colspan="3" | |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | colspan="3" | |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- | colspan="3" | |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- | colspan="3" | |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] 75017a749842efaf3e1a007ef8bdfeae057f77a5 Game Modes 0 20 112 111 2024-01-16T15:56:02Z Pcj 1919 10 revisions imported wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather [[salvage]] from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, fly into a volcano, the world is your oyster in this open-ended survival adventure. <br /> == Campaign Mode: Rally == Learn the basics of racing in Trailmakers. You will learn how to build various kinds of vehicles, and steadily take on more challenges as you progress in this campaign. Once you've completed the campaign, take on the global leaderboards against the worldwide community of Trailmakers! <br /> == Campaign: High Seas (DLC) == High Seas is the first expansion for Trailmakers, in which you play on a sandbox map with expanded physics - there's wind, weather and waves to contend with, as you try to find all the collectible artifacts and treasure chests. <br /> == Race Island == Compete with your friends in Time Trials, or to become the top player on our global leaderboards! == Sandbox Maps == There are currently 4 sandbox maps you can play in with your friends in Trailmakers: * '''Treasure Island''' You can solve treasure hunts and play your own way on Treasure Island. * '''Danger Zone''' Live out your daredevil daydreams on the Danger Zone map, and pull off stunts on the ramps, halfpipes and other obstacles! * '''Test Zone''' If you're looking for a blank slate to build your creations in, this is the map for you. Challenge yourself and your friends in an environment free of obstacles. * '''High Seas''' Test your mettle as sailors in the first expansion to Trailmakers, or challenge your piloting skills against the winds on the High Seas. == Multiplayer == Trailmakers can (at the time of writing) be played by up to four players in multiplayer in all modes but Rally. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 72f6d62c8dd1f2785f3e4020ebd82e07728696d6 Gimbal Jet 0 21 127 126 2024-01-16T15:56:02Z Pcj 1919 14 revisions imported wikitext text/x-wiki {{Stub}} == Gimbal Jet == [[File:TM Gimbal Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A jet that always fires downwards. Can be problematic to use in flying machines (only in mods). {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |9.4 kg |- !Power (Estimated) |220 |- !Dimensions |2 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |78.5 kg |- !Lift / Weight |8.35 |- !Power / size |57.5 |} [[Category:Stubs]] [[Category:Thrust]] 20cbcf678f5886bf3c38bb94d3bc2dc6a5ebf506 Hover Blocks 0 22 132 131 2024-01-16T15:56:02Z Pcj 1919 4 revisions imported wikitext text/x-wiki {{Stub}} ==Hover Block== [[File:Hover Block.png|thumb|Hover Block]] Lift engine that generates an air cushion under your vehicle. Can float vehicle on water , when it moves very fast. {| class="wikitable" |+Engine Data |- |[[Power cores|Power Cores]]||1 |- |Weight||14.1 kg |- |Dimensions||4 x 4 x 1 |} [[Category:Stubs]] 48a462dc37a444d1bd7e688eb3a7ac4b6edeb5f5 How to play guide for Trailmakers 0 23 147 146 2024-01-16T15:56:03Z Pcj 1919 14 revisions imported wikitext text/x-wiki {{Stub}} This page will serve as a basic '''How to play guide for [[Trailmakers]]'''. While there is very little information available at this time, we urge you to check back often, as new information is being added all the time! Feel free to edit this guide with any tips, tricks, and suggestions. ==Basic Gameplay== You can either start by playing the Stranded in Space campaign, or the Rally campaign. In Stranded in Space, you need to collect salvage from around the map to unlock blocks, in order to build a rocket to escape the planet on which you've crashlanded. In Rally, you will learn to build various kinds of vehicles, and race them. ==Controls== The Controls are simple. You can use the mainstream, or you can make the keybindings whatever you want to move your vehicle. Currently there is no way of changing the keybindings for build mode, or accessing your vehicle, but that is subject to change. To get into the vehicle you press F, and the same to hop out. To enter build mode you press B, and the same to get out. ==Tips and Tricks== ===Building tips=== ====Balance==== When [[building]], the most common balancing issues (with some solutions), and some general tips are as such: * Vehicle pitches down *# Too much lift in the back *# Not enough lift in the front *# Thrust over point of lift *# Too much weight in the front *# Not enough weight in the back * Vehicle pitches up *# Too much lift in the front *# Not enough lift in the back *# Thrust under point of lift *# Too much weight in the back *# Not enough weight in the front * General *# Pseudo-weight (downforce, aka spoilers) *# Experimenting with the wing types to see how much lift they give is also very important. An intuitive sense for how a wing is going to effect your build is crucial. ====Stability==== Some of the hardest issues to troubleshoot are stability, some general tips are as follows: * Loss of traction (spinning out) *# Spoilers to apply down force increase your traction but reduce control. *# The standard wheels and the monster wheels are more grippy than their less traction-based counterparts. *# Reduce turning angle, you can modify hinges to lower the maximum angle they can go to, expanding your turn radius, but giving you better control at high speeds. *# Lowering speed * Wobbly aircraft *# Currently the best way to reduce wobbly aircraft is with tailfins (vertical and horizontal). This is due to how they are evaluated by the physics engine. * General *# Expand the wheel/hover base, larger surface area especially in land vehicles is one of the easiest ways to make a vehicle more stable and won't fall over. *# ====Control==== Gaining control of your designs is likely more important then everything above, here's how you can master your creations: * Turning *# Increase the maximum angle of hinges * General *# Use tail fins on rotating servos to force the airflow through another path *# Using angular momentum applied from helicopter servos can be used to turn your vehicles although finicky, it works well. *# Off center propulsion (pull the back/front of the vehicle left/right/up/down via propellers or something / add jets to one side to push one side of the vehicle in front of the other.) ==See also== * [[Release date]] * [[System requirements]] [[Category:Guides]] 1590b55951dfad61db16802ca1fadccbdea2e19c Large Jet 0 25 155 154 2024-01-16T15:56:03Z Pcj 1919 4 revisions imported wikitext text/x-wiki == Large Jet == [[File:TM Large Jet.png|thumb|[Main color Red] [Second color White]|220x220px]] A huge Jet Engine with the most power in the game. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |4 |- !Weight |40 kg |- !Power |800 |- !Dimensions |4 x 8 x 5 |- | colspan="2" | |- !Lifting Capacity |285.5 kg |- !Lift / Weight |7.1 |- !Power / Size |5 |} [[Category:Stubs]] [[Category:Thrust]] 20ece0f1a0033ead71e47973af0c93d47902d0f6 Locations 0 26 160 159 2024-01-16T15:56:04Z Pcj 1919 4 revisions imported wikitext text/x-wiki Locations in the [[Game Modes|Gamemode]] 'Stranded in Space' include: *The Pillows *Launchpad *Landing Site *Forest Plateau *Deepwood *Lake Lapis *Rosewood *Eye of Karoo *Brownwood *The Reef *Tiny Island *Paddle Island *Buoy Island *Magnet Island *Dive Island *Treasure Island *Pine Island *Pine High *Desert Gate *The Cravasse *Dry High *The Volcano *Fire Tubs *Howling Peaks *The Slides *The Murks *Spike Wood *Bogwood *Dragon Lake bfdf3241c004f1c05acf21cde23f16657a3d3688 Logic Blocks 0 27 170 169 2024-01-16T15:56:04Z Pcj 1919 9 revisions imported wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks, except for the Angle Sensor and Compass which are 1x2x2, that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. Every logic block weighs 0.6 kg, except the Angle Sensor and Compass, which weigh 1.2 kg. [[File:Logic Blocks 2.png|thumb|594x594px|AND Gate, OR Gate, XOR Gate, Distance Sensor, Speed Sensor, Altitude Sensor, Angle Sensor, Compass]] == How Logic Gates Work == There are 8 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor *Speed Sensor *Altitude Sensor *Angle Sensor *Compass Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. The output of a logic gate is *not* the output you specify in the editor while building. The output of the gates is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." This means both AND Gates and OR Gates can output values of zero. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. *Example 2: An AND Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the AND gate outputs nothing. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. *Example 2: An OR Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the OR gate outputs nothing. *Note that, like the other gates, the output of the OR Gate is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Speed Sensor ==== * The Speed Sensor sends output when the speed of the block reaches a set speed. ==== Altitude Sensor ==== * The Altitude Sensor sends output when the altitude of the block reaches a certain altitude. ==== Angle Sensor ==== * The Angle Sensor sends output when the angle of the block reaches a set amount. ==== Compass ==== * The Compass sends output when the direction the block is facing falls within a set angle. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. eb8958e6c0350c65b5792436f885711b149e17d7 Mechanical Blocks 0 28 176 175 2024-01-16T15:56:04Z Pcj 1919 5 revisions imported wikitext text/x-wiki {{Stub}} == Overview == "Blocks with mechanical functions," Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. == List of Mechanical Blocks == === Hinges === ==== Steering Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 1 |} ==== Large Hinge ==== Allows a limited angle of rotation perfect for wheels. {| class="fandom-table" |+Block Data |Weight |1.1 kg |- |Dimensions |2 x 1 x 1 |} ==== Trailer Hinge ==== Ball hinge with two attachment points. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} === Suspension === ==== Straight Suspension ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 1 x 2 |} ==== Suspension Spring ==== Absorbs shock to make your vehicle drive smoother on uneven surfaces. {| class="fandom-table" |+Block Data |Weight |0.5 kg |- |Dimensions |1 x 2 x 3 |} === Servos === ==== Rotating Servo ==== Block that can slowly rotate in each direction. {| class="fandom-table" |+Block Data |Weight |5 kg |- |Dimensions |2 x 2 x 1 |} ==== Spinning Servo ==== Block that can spin around quickly. {| class="fandom-table" |+Block Data |Weight |9.1 kg |- |Dimensions |2 x 2 x 2 |} === Other === ==== Piston ==== Extendable cylinder that moves back and forth. {| class="fandom-table" |+Block Data |Weight |6.4 kg |- |Dimensions |1 x 1 x 4 (extended) 1 x 1 x 1 (retracted) |} ==== Detachable Block ==== Detaches the structure it is attached to. {| class="fandom-table" |+Block Data |Weight |1.6 kg |- |Dimensions |1 x 2 x 1 |} e3fa036d6e4b963f28a913f450b890fa60486e9a Mini-Thuster 0 29 192 191 2024-01-16T15:56:05Z Pcj 1919 15 revisions imported wikitext text/x-wiki {{Stub}} == Thruster == [[File:TM Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] A small and cheap jet engine with low thrust. It used to be called "Mini-Thruster" but has been renamed to "Thruster" after the Wings and Weapons update {| class="fandom-table" |+Engine Data |- ![[Power ]] |1 |- !Weight |9.8 kg |- !Power |80 |- !Dimensions |1 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |28.6 kg |- !Lift / Weight |2.9 |- !Power / Size |20 |} The Thruster (mini-thruster) can be colored in both primary and secondary colors, as visible in the image. It is not powerfull, but with its reduced size it can be used for a variety of compact vehicles and setups. [[Category:Stubs]] [[Category:Thrust]] c027e0bff152b8c303bff0ebdbb70f0590797b9f Minigun 0 30 194 193 2024-01-16T15:56:05Z Pcj 1919 1 revision imported wikitext text/x-wiki [[File:Minigun.png|thumb]] The Minigun is a block In Trailmakers. It requires a 2x2x6 area to be placed. The Minigun weighs 4.4 kilograms. It can be tinted with both primary & secondary colors. Its aerodynamics from the front, back, left, right, & top is equal to that of a "Fairly Aerodynamic" block (1x1 wedge). The Minigun's aerodynamics from the bottom is equal to a standard block face (red). It has no directional drag other than what comes from its orientation (it won't push air in any one direction like a wedge, it will push air in all directions equally like a cone). It is a Gadget block that costs 4 Power Cores. The Minigun has enough health to take 8-10 bullets before destruction. Entering a creation with a minigun on it generates a 3-ringed reticle which represents the average firing line of all gun-based blocks on the creation. This reticle turns red once the auto-aim has "locked on" to a target. This reticle also displays the total ammo for all weapons. If the firing lines of multiple blocks are different enough, another reticle will generate to show the average firing line of one portion of the weapons while the second reticle will show the average of the other portion. This can potentially generate infinite reticles but is limited by the angle difference required to generate another reticle. The Minigun fires continuously when triggered at approximately 600 rpm. The Minigun can auto-aim at any "target" (pirate AI [Airborne DLC only], enemy player creations) within an approximately 30-degree cone. The Minigun can be fired for 4 seconds before running out of ammo. Ammo is separate for each Minigun. This ammo is continuously replenished over time. From no Ammo to max Ammo, regeneration takes approximately 6 seconds. The Minigun has one keymap: its fire button. this keymap can be set toggle, where the fire button will be activated after the initial keypress until the release of a second keypress. The Minigun has the standard Delay, Duration, & Pause seen in most blocks with logic in Trailmakers, where Delay requires a minimum activation time before the block's action, Duration sets a maximum activation time before block action is stopped, & Pause sets a time before the deactivation caused by Duration is reset, but if the time is set to 0, the block will not activate again until the key is released & pressed again. The Minigun also has a unique "Auto Aim Scale" value. This value sets the radius of the auto-aim cone relative to its 30-degree maximum (1 is the max 30 degrees, .5 is 15 degrees, etc.). bdb9b501be606651f3d3068a855509f4f05424ea Power cores 0 31 200 199 2024-01-16T15:56:05Z Pcj 1919 5 revisions imported wikitext text/x-wiki [[Power Cores]] will appear when you place [[Propulsion blocks]] as an indicator of the power of your vehicle. Propulsion blocks are not the only block that require Power Cores, as gadgets such as the Tractor Beam and Cannons require them as well. In the Racing gamemode, vehicles are rated based on the amount of cores they use. Vehicles with similar amount of cores are put into their respective leagues for each race, such that different leagues have different leaderboards for each racetrack. {| class="wikitable" |+Power Core Leagues !League !Power Cores ! ! |- |Bionic League |0 | | |- |Gokart League |1 | WHERE?!?!?!? I NEED LOCATIONS "LOCATIONS" not star war builds!! | |- | |2-5 | | |} In the Stranded in Space Campaign gamemode, Power Cores serve as a limiting factor to the power of your vehicle. You have a limited amount of power cores to use, which can be increased by collecting certain scrap found around the map. Each propulsion block has a power core requirement, which differs depending on the power of the block. {| class="wikitable" |+Engine Block Power Core Requirements !Block !Power Core Requirement |- |Bulldog Engine |1 |- |RAW Engine |2 |- |Dragon Engine |3 |- |Mini Thruster |1 |- |RAW Thruster |2 |- |Dragon Thruster |3 |- |Gimbal Jet |1 |- |Hover Block |1 |- |Helicopter Engine V1 |1 |- |Helicopter Engine V2 |1 |} Many of the gadgets also require power cores to function. {| class="wikitable" |+ !Block !Power Core Requirement |- |Tractor Beam |1 |- |Small Cannon |1 |- |Large Cannon |3 |- |Tank Cannon |3 |- |Dynamite |1 |} 1d9714361ae490f1ec712f59432db5d5dcfe323b Propeller Blocks 0 32 212 211 2024-01-16T15:56:05Z Pcj 1919 11 revisions imported wikitext text/x-wiki {{Stub}} == Large Propeller == [[File:TM Large Propeller.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |3 |- !Weight |25 kg |- !Power |350 |- !Dimensions |2 x 2 x 2 |- | colspan="2" | |- !Lifting Capacity |125 kg |- !Lift / Weight |5 |- !Power / Size |43.75 |- !Power / Cores |116.6 |} Provides propulsive power. Part of Airborne DLC. == Propeller == [[File:TM Propeller.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |12.5 kg |- !Power |200 |- !Dimensions |2 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |71.5 kg |- !Lift / Weight |5.72 |- !Power / Size |50 |- !Power / Cores |100 |} Provides propulsive power. == Helicopter Engine == [[File:TM Heli.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |5.6 kg |- !Dimensions |2 x 2 x 1 |} Block that can spin around quickly. == Stackable Helicopter Engine == [[File:TM Stack Heli.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |5.6 kg |- !Dimensions |2 x 2 x 1 |} A helicopter engine with a static top and bottom. Previously called "Helicopter Engine v2". == Outboard Boat Engine == [[File:TM Outboard.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |12.5 kg |- !Power |~ 560 |- !Dimensions |2 x 2 x 4 |- | colspan="2" | |- !Lifting Capacity |~ 198.65 kg |- !Lift / Weight |~ 15.9 |- !Power / Size |35 |- !Power / Cores |280 |} Provides propulsion in water. Part of High Seas DLC. == Underwater Propeller == [[File:TM Underwater.png|thumb|220x220px|[Main color Red] [Second color White]]] {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |1 |- !Weight |12.5 kg |- !Power |~ 280 |- !Dimensions |2 x 4 x 2 |- | colspan="2" | |- !Lifting Capacity |~ 101.5 kg |- !Lift / Weight |8.12 |- !Power / Size |17.5 |- !Power / Cores |280 |} Provides propulsion in water. [[Category:Stubs]] 1f35701a3907b3ed97ec2ecef8db202cb3d88207 Propulsion Blocks 0 33 217 216 2024-01-16T15:56:05Z Pcj 1919 4 revisions imported wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. They can be split into the following categories: * [[Engine Blocks]] * [[Hover Blocks]] * [[Thruster Blocks]] * [[Propeller Blocks]] abe333237b32b79a86af38df6f5d4ae84f2573d7 RAW Jet 0 34 228 227 2024-01-16T15:56:06Z Pcj 1919 10 revisions imported wikitext text/x-wiki {{Stub}} == RAW Jet == [[File:TM Raw Jet.png|thumb|220x220px|[Main color Red] [Second color White]]] A very powerful jet engine with a cooldown. After running 1.16 seconds goes into 3 second cooldown. Its cooldown is commonly know as the "Overheat" period, in which it does not give any thrust. It is commonly used as a "boost jet" for rally cars and racing vehicles. Although very powerful, more sustainable alternatives for aircraft are Dragon Jet and Large Jet engine. {| class="fandom-table" |+Engine Data ![[Power cores|Power Cores]] |2 |- !Weight |53.1 kg |- !Power |750 |- !Dimensions |2 x 5 x 2 |- | colspan="2" | |- !Lifting Capacity |268.4 kg |- !Lift / Weight |5.05 |- !Power / Size |37.5 |} [[Category:Stubs]] [[Category:Thrust]] 0e059379dc546625a0c17b2c4e4b03bd30b02006 Race Island 0 35 231 230 2024-01-16T15:56:06Z Pcj 1919 2 revisions imported wikitext text/x-wiki Race Island is a map in TrailMakers 46ff4cae8ffdfb4004e3629c9580afd1f50ad5c4 Release date 0 36 235 234 2024-01-16T15:56:06Z Pcj 1919 3 revisions imported wikitext text/x-wiki {{Stub}} This page contains the '''release date''' information for [[Trailmakers]]. ==Release date== Trailmakers was released in early access on January 30, 2018. It was later fully released on September 18, 2019. ==Release information== The full game costs a total of $25.00USD (€22.28) and expanded on the physics engine, released the [[Campaign]] [[Game Modes|gamemode]] to the public, and added several minor improvements. ==See also== * [[How to play guide for Trailmakers]] * [[System requirements]] [[Category:Guides]] 122f51bf07f75fed80a07d39cc6a9880b7029a06 Rocket Thruster 0 37 241 240 2024-01-16T15:56:06Z Pcj 1919 5 revisions imported wikitext text/x-wiki == Rocket Thruster == [[File:TM Rocket Thruster.png|thumb|220x220px|[Main color Red] [Second color White]]] The smallest Engine in the game. It costs the same as the Thruster, but is weaker. {| class="fandom-table" |+Engine Details ![[Power cores|Power Cores]] |1 |- !Weight |9.8 kg |- !Power |60 |- !Dimensions |1 x 2 x 1 |- | colspan="2" | |- !Lifting Capacity |21.6 kg |- !Lift / Weight |2.2 |- !Power / Size |30 |} [[Category:Stubs]] [[Category:Thrust]] 182bf1e509fb008099829804795c9ef12e8dfaaa Salvage 0 38 251 250 2024-01-16T15:56:07Z Pcj 1919 9 revisions imported wikitext text/x-wiki Salvages are entities, which can be collected in the Campaign Game Mode Stranded in Space. They are collected by transporting one to any Recovery Drone, which can be found all over the world. They appear in lots of shapes and sizes. Here is a list. {| class="fandom-table" |+ !Type !Picture |- !Small Sphere ![[File:Trailmakers small Salvage-sphere.png|thumb]] |- |Medium Sphere | |- |Large Sphere |[[File:Trailmakers large Salvage-sphere.png|thumb]] |- |Massive Sphere | |- |Small Cube | |- |Large Cube | |} Spoiler Alert: They are placed as follows: {| class="fandom-table" |+ !Block ![[Locations|Location]] !Altitude |- | | | |- |Raw Jet |Desert Gate |129m |- |Grid Block 1 x 2 |Howling Peaks |195m |- |Grid Block 1 x 4 |Howling Peaks |195m |- |Wedge 2 x 1 |Howling Peaks |241m |- |Heavy Weight Block |Howling Peaks |265m |- |Tractor Beam |Magnet island0 | |- |Large Paddle |Paddle Island | |- |Buoyancy Controller |Buoy Island | |- |Gimbal Jet |Eye of Karoo | -22m |- |Block 4 x 8 |Eye of Karoo |74m |- |Block 1 x 3 |Eye of Karoo |64m |- |Tube 1 x 1 |Pine Island |66m |- |Tube 1 x 3 |Pine Island |73m |- |Tube 1 x 8 |Pine Island |69m |- |Tube Tee |Pine Island |68m |- |Tube Cross |Pine Island |58m |- |Tube Double Tee |Pine Island |84m |- |Tube Double Cross |Pine Island |86m |- |Tube Slope 1 x 1 x 2 |Pine Island |88m |- |Tube Tee Cross |Pine Island |84m |- |Cockpit |Pine Island |77m |} Powercores can be found here: {| class="fandom-table" |+ ![[Locations|Location]] !Altitude |- |Rosewood |15m |- |Magnet Island |0m |- | | |} 451132eb26f01826ec9d209fdb5d71a23aa80189 Sandbox 0 39 253 252 2024-01-16T15:56:07Z Pcj 1919 1 revision imported wikitext text/x-wiki Sandbox is a gamemode in trailmakers. It can be accessed by clicking Singleplayer or Multiplayer, then selecting sandbox. === Building === In sandbox you can't die, and have acces to all building pieces. (Except Cosmetic Blocks.) Players can use as many power cores as they want. === Maps === There currently are 5 Sandbox maps: Danger zone, Treasure Island, Test Zone, Airborne and High Seas. The Danger zone map and the Treasure Island map have fire rings in them, when players fly through every fire ring (with a vehicle) they get the Man in black achievement. [[File:Trailmakers Achievement (Man in black).png|alt=Man in black achievement. Picture of a fire ring.|thumb]] This article isn't done, you can edit it as you want. My second article ive made. 11bd17732dc8cd7e2aa79d932d757c82ac826cb9 System requirements 0 40 257 256 2024-01-16T15:56:07Z Pcj 1919 3 revisions imported wikitext text/x-wiki {{Stub}} The following are the minimum and recommended '''system requirements''' for [[Trailmakers]]. While these requirements do not represent a guaranteed working configuration, meeting the minimum requirements should ensure at least a launch-able environment. ==Recommended requirements== *'''OS:''' Windows 10 64 Bit *'''Processor:''' i7-7700K *'''Memory:''' 16 GB RAM *'''Graphics:''' GTX 1080 *'''Network:''' Broadband Internet connection *'''Storage:''' 10 GB available space ==Minimum requirements== *'''OS:''' Windows 7 64 Bit *'''Processor:''' i5-4440 (3.1 GHz quad-core) *'''Memory:''' 8 GB RAM *'''Graphics:''' GTX 660 *'''DirectX:''' Version 11 *'''Network:''' Broadband Internet connection *'''Storage:''' 6 GB available space ==See also== * [[How to play guide for Trailmakers]] * [[Release date]] [[Category:Guides]] f9df533240205144e627105dfbd8945c9076be94 Test (achievement) 0 41 260 259 2024-01-16T15:56:07Z Pcj 1919 2 revisions imported wikitext text/x-wiki This is just a test page to showcase the usage of {{Tlx|DisambigMsg}}. [[Category:Notice templates|DisambigMsg]] 6fea560241e0ecb6514dce689df42c15dbc6583f Test (class) 0 42 263 262 2024-01-16T15:56:07Z Pcj 1919 2 revisions imported wikitext text/x-wiki This is just a test page to showcase the usage of {{Tlx|DisambigMsg}}. [[Category:Notice templates|DisambigMsg]] 6fea560241e0ecb6514dce689df42c15dbc6583f Thruster Blocks 0 43 289 288 2024-01-16T15:56:08Z Pcj 1919 25 revisions imported wikitext text/x-wiki There are 6 thruster blocks currently in Trailmakers. Those 6 blocks are: *Rocket Thruster *Mini Thruster *RAW Jet * Dragon Jet * Large Jet * Gimbal Jet === Power === Each engine has a power rating assigned to it, the exceptions being the Large Propeller, Propeller, Outboard Boat Engine, Underwater Propeller, Helicopter Engine, and the Stackable Helicopter Engine. Those ratings are: {| class="wikitable" border="1" |- ! Engine Name ! Engine Power |- |Rocket Thruster |60 |- | Mini Thruster | 80 |- |Gimbal Jet | 220 |- | Dragon Jet | 300 |- | RAW Jet | 750 |- |Large Jet |800 |} User "TheWaffleDimension" has done some experiments to determine how much weight each thruster engine can lift, and by comparing the results to the known engine power ratings for the Thruster, RAW and Dragon, found 0.357 as the conversion factor of weight to engine power. User "Jeebus Quade" experimented to find the lifting weight of the propeller. User "lukkram" re-did the previous experiments and included the new blocks from 1.6 update. {| class="wikitable" border="1" |- !Engine Name ! Lifting Weight (Including the engine itself) |- |Rocket Thruster |70.6 kg |- |Mini Thruster | 34.6 kg |- |Gimbal Jet | 78.57167 kg (more precise) |- |Dragon Jet | 107.15 kg |- |RAW Jet | 268.4 kg |- |Large Jet |285.5 kg |} To create neutral buoyancy using gimbals, the ratio is precisely 0.01245674740481 gimbal power per kilogram. The function to get the value is f(x) = 0.01245674740481x + 0.01 and if the function is greater than 1 then divide it until it's less than 1 and for every divide you need to add a gimbal jet and set it to the value that the function is outputting. Interestingly, the RAW Jet is the only pulse jet in the game, with an active duration of 2 seconds followed by a cooldown of 2 seconds meaning that the RAW Jet only has a 50% uptime, according to testing done by user "Manchweld" Additional testing on the RAW Jet has revealed that after overheating. it has doubled heating meaning that the consistent uptime is about 33% without overheating. This still gives it more power than it's power core equivalent of two Mini Thrusters. ddd81e8e844e24f8d782a4a986da8a66367fce25 Trailmakers 0 44 310 309 2024-01-16T15:56:09Z Pcj 1919 20 revisions imported wikitext text/x-wiki [[File:TrailmakersLogo.png|link=]] '''Trailmakers''' is part creative vehicle-[[building]] sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation chicken. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. Trailmakers was released in early access on January 30, 2018. Trailmakers will be released on PlayStation 4 on May 21, 2020. ==Features== ===The Game=== Trailmakers is about building awesome vehicles and machines, but you don’t need an engineering degree to get started. The intuitive builder will get you going in no time. Everything you build is made from physical building blocks. Each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ===Building=== The core of Trailmakers is the builder – an intuitive, easy-to-use creative space where making your constructions is as simple as playing with LEGO. The goal is to avoid the feel of complicated 3D-software, and make it an accessible part of the game. You can build anywhere in the game! ===World​=== Trailmakers is set in a big world with different environments that require you to continuously adjust and upgrade your vehicles. You don’t reach snowy mountain tops, dry savannahs, or grassy fields in the same old rust bucket. While it is a living place with hazards, challenges, and wildlife, the world is also a place where you can just relax and explore. <br /> ===Mod Support=== Since Trailmakers is all about being creative, we want to extend the customization aspect of the game into modding territory. We hope people will experiment with Trailmakers and surprise us with brand new game modes and creations! ==Videos== {{#ev:youtube|4-c09USdvO4|600}} ==External Links== *[http://www.playtrailmakers.com/ Official Website] *[http://www.flashbulbgames.com/ Developers] *[http://twitter.com/PlayTrailmakers Official Twitter] *[http://www.facebook.com/PlayTrailmakers/ Official Facebook] *[http://www.linkedin.com/company/lightbulb-games Official LinkedIn] *[http://www.discord.gg/Trailmakers Official Discord] [[Category:Trailmakers Wiki]] aa73088234358f4381294f040f44db2322365968 Trailmakers Wiki 0 45 315 314 2024-01-16T15:56:09Z Pcj 1919 4 revisions imported wikitext text/x-wiki <!-- TO EDIT MAIN PAGE CONTENT, see "Templates used on this page" below and edit: * {{SITENAME}}/Top section * {{SITENAME}}/Flex section * {{SITENAME}}/Bottom section This is a basic responsive front page design that adapts to the available width of the browser by rearranging the sections themselves as well as content within each section. When narrow, the three sections line up vertically in a single column. When wide enough, the middle (flex) section is pulled out to become a right column. Much of the layout and appearance is determined through styles defined in these pages: * MediaWiki:Common.css (for the desktop view) * MediaWiki:Mobile.css (for the mobile view) --> <div id="fp-2column" class="fp-container"> <div id="fp-top" class="fp-section"> {{:{{SITENAME}}/Top section}} </div> <div id="fp-flex" class="fp-section"> {{:{{SITENAME}}/Flex section}} </div> <div id="fp-bottom" class="fp-section"> {{:{{SITENAME}}/Bottom section}} </div> </div> <div class="nomobile" style="text-align: right; margin-right: 10px;"><small>Main page sections: [[{{SITENAME}}/Top section|Top]] &#183; [[{{SITENAME}}/Flex section|Flex]] &#183; [[{{SITENAME}}/Bottom section|Bottom]]. Changes for the main page can be proposed [[Talk:{{SITENAME}}|here]]. </small></div> <metadesc>The official community maintained wiki resource for Trailmakers!</metadesc> __NOTITLE__ [[Category:{{SITENAME}}| ]] 63dbdad7171c7cd3e29d7b777a7bb8a15d80f127 Trailmakers Wiki/Bottom section 0 46 319 318 2024-01-16T15:56:09Z Pcj 1919 3 revisions imported wikitext text/x-wiki <div class="fpbox mobilecollapsible expanded" id="fpwiki" style="text-align: center;"> <div class="heading mobileonly mobileleft">Wiki</div> <div class="body"> <div class="linkslabel">Help Wiki</div> <div class="fplinks"><!-- -->{{FP link|gphelp:Contents|General Help|size=wide}}<!-- -->{{FP link|gphelp:Getting Started|Getting Started|size=wide}}<!-- -->{{FP link|gphelp:Editing pages|Editing pages|size=wide}}<!-- -->{{FP link|gphelp:Starting a new page|New pages|size=wide}}<!-- -->{{FP link|gphelp:Moving a page|Moving pages|size=wide}}<!-- -->{{FP link|gphelp:Basic images|Basic images|size=wide}}<!-- -->{{FP link|gphelp:Links|Links|size=wide}}<!-- --></div> <div class="linkslabel">Community</div> <div class="fplinks"><!-- -->{{FP link|Special:UserLogin/signup|Register|size=wide}}<!-- -->{{FP link|Project:Community portal|How to help|size=wide}}<!-- --></div> ---- <div class="nomobile"> <div>To write a new article, just enter the article title in the box below or in the search box at the top of the page.</div> <inputbox> type=create break=no </inputbox> ---- <div style="text-align: left;"> * '''Adding content''' ** If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. ** An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. </div> </div> </div> </div><!--END Wiki box--><noinclude>[[Category:Front page sections]]</noinclude> 48f4ba82d798cc74a1b2d81344c6dce51519949e Trailmakers Wiki/Flex section 0 47 328 327 2024-01-16T15:56:09Z Pcj 1919 8 revisions imported wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Guides box--> <div class="heading">Guides</div> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] </div><!--END Guides box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Images box--> <div class="heading">Featured images</div> {{Featured images}} </div><!--END Images box--> <div class="fpbox" id="fplinks" style="text-align: center;"><!-- BEGIN Links box--> <div class="heading">''Trailmakers'' Links</div> <div class="fplinks">{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div> </div><!--END Links box--> <noinclude>[[Category:Front page sections]]</noinclude> d28ecd8749e251342bcf8bea7796e913780dc693 Trailmakers Wiki/Top section 0 48 335 334 2024-01-16T15:56:10Z Pcj 1919 6 revisions imported wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div> </div><!-- END Heading A box--><noinclude>[[Category:Front page sections]]</noinclude> d9f1e78e3358e620ad0585537d2d3bd6b4d8e709 Wheels 0 50 345 344 2024-01-16T15:56:10Z Pcj 1919 7 revisions imported wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless engine is above water. Currently there are 10 different wheels in the game. *<u>Offroad Wheel</u> - ''"Slightly better traction on rough terrain than on tarmac."'' The starter wheels in the campaign. They are a medium sized wheel with solid performance on grass/sand/etc. However, they will struggle in mud. It weighs 10kg. *<u>Racing Wheel</u> - ''"Better grip on tarmac than rough terrain."'' A medium sized wheel that performs particularly well when on tarmac but entirely fails offroad. It weighs 10kg. *<u>Monster Truck Wheel</u> - ''"Large and heavy wheel with good overall grip."'' The largest of all wheels and by far the heaviest. The best wheel in terms of control in mud and offroad terrain, however, it is offset by the fact it will immensely slow a vehicle down due to the weight, friction, and poor aerodynamics. It weighs 25kg. *<u>Go-kart Wheel</u> - ''"Small wheel with better grip on tarmac than rough terrain."'' One of the lightest wheels. Almost no traction on anything other than tarmac. It weights 2 kg. *<u>Slim Wheel</u> - ''"Relatively poor grip and speed, but very light weight."'' A medium sized and thin wheel with atrociously bad control, especially in offroad terrain. Despite its description, it is by far the fastest wheel due to its light weight, aerodynamics, and lack of friction, making it excellent for vehicles that don't need to turn much on the ground (such as drag racers or planes that require runways). It weighs 1.5kg. *<u>Drag Racing Wheel</u> - ''"Large wheel with better grip on tarmac than rough terrain."'' An enormous wheel that's size is only surpassed by the Monster Truck Wheel. It has the best grip of all wheels on paved surfaces and thus does not easily come off the ground or lose control when turning on its intended surface. Despite its name, in terms of speed it's terrible, as it will slow a vehicle down due to the heavy weight and friction. It weighs 20kg. *<u>Truck Wheel</u> - ''"Large wheel with good overall grip."'' A large wheel that performs well on offroad terrain. Not nearly as large or heavy as the Monster Truck Wheel and thus, will not slow a vehicle down as much. While it performs better than most wheels in the mud, it will still suffer from some lack of control. It weighs 15kg. *<u>Spiked Wheel</u> - ''"Good grip on rough terrain."'' A medium sized wheel with spikes embedded into it. Has excellent grip in offroad terrain, keeping lighter vehicles grounded when driving offroad while only suffering a slight loss in speed compared to the offroad wheels. However, they still perform poorly in mud. An excellent replacement for the offroad wheels if you favor control over speed. It weighs 10kg. *<u>Motorcycle Wheel</u> - ''"A rad wheel for your hog. Average grip on all surfaces."'' A medium sized thin wheel with decent control. A very fast wheel that, unlike the Slim Wheel, has some measure of control. In comparison to dedicated offroad/tarmac wheels however, it's flighty and can easily lose control when turning. It weights 7.5kg *<u>Landing Wheels</u> - ''"A pair of landing wheels to fit under an airplane."'' Simplest wheel to put underneath a vehicle as it has mounting points on the top. Average grip on all surfaces with slightly better grip on tarmac. It weighs 7.5 kg. *<u>Ski</u> - ''"For gliding."'' Not technically a wheel, but still placed under the category. It very easily slides across the ground. Unlike tires, it does not make use of an engine nor does it rotate, and so it requires another form of propulsion (such as a thruster) in order to make use of it. It weighs 0.2kg. *<u>Friction Pad</u> - "A pad with very high friction." A 1x1x1 block where one side is a rubber like bump that provides a ton of friction <br /> 95f01ead4656f0bfbb988b96310c4ac43688022e Template:= 10 51 347 346 2024-01-16T15:56:10Z Pcj 1919 1 revision imported wikitext text/x-wiki <includeonly>=</includeonly><noinclude> {{doc}} [[Category:Formatting templates|{{PAGENAME}}]]<noinclude> 99eb3f6a79bae72aba5c833f64355bcaab9955ea Template:Tlx 10 52 349 348 2024-01-16T15:56:10Z Pcj 1919 1 revision imported wikitext text/x-wiki <includeonly><code><nowiki>{{</nowiki>{{#if:{{{subst|}}}|[[wikipedia:Help:Substitution|subst]]:}}[[{{{LANG|}}}{{{SISTER|}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}}| &#124;{{{2}}} }}<!-- -->{{#if:{{{3|}}}| &#124;{{{3}}} }}<!-- -->{{#if:{{{4|}}}| &#124;{{{4}}} }}<!-- -->{{#if:{{{5|}}}| &#124;{{{5}}} }}<!-- -->{{#if:{{{6|}}}| &#124;{{{6}}} }}<!-- -->{{#if:{{{7|}}}| &#124;{{{7}}} }}<!-- -->{{#if:{{{8|}}}| &#124;{{{8}}} }}<!-- -->{{#if:{{{9|}}}| &#124;{{{9}}} }}<!-- -->{{#if:{{{10|}}}| &#124;{{{10}}} }}<!-- -->{{#if:{{{11|}}}| &#124;{{{11}}} }}<!-- -->{{#if:{{{12|}}}| &#124;''...'' }}<nowiki>}}</nowiki></code></includeonly><noinclude>{{doc}}[[Category:Formatting templates]]</noinclude> 512f88acf594469a9b72d004b8d82ec05ac8941c Template:Featured images 10 53 352 351 2024-01-16T15:56:10Z Pcj 1919 2 revisions imported wikitext text/x-wiki <includeonly><center><slideboxlightshow halign="center" width="400" height="250"> File:BUILD-e1501145530202.jpg File:DANGER-e1501145493999.jpg File:MULTIPLAYER-e1501145470328.jpg File:EXPLORE-e1501145369502.jpg File:CREATIVITY-e1501145511200.jpg </slideboxlightshow></center></includeonly><noinclude>{{doc}}[[Category:Templates]]</noinclude> d2a941ad0eca9fc41548c58d299fa3f28e973c75 Template:FP link 10 54 355 354 2024-01-16T15:56:11Z Pcj 1919 2 revisions imported wikitext text/x-wiki <onlyinclude><includeonly><div class="fplink-outer plainlinks {{#switch:{{lc:{{{width|}}}}}|wide=fplink-wide|full=fplink-fullwidth}}"> <div class="fplink {{#switch:{{{plain|}}}|yes|true|1=fplink-plain}}"> {{#if:{{{image|}}}|<div class="fplink-inner {{#ifexist:Media:{{{image|}}}||nomobile}}">{{#ifexist:Media:{{{image|}}} |[[File:{{{image|}}}|150x150px|link={{#if:{{{url|}}} |{{{url|}}} |{{{1|}}} }}]] |[[File:{{{image|}}}|Please upload an image]] }} </div> }}{{#switch:{{#if:{{{image|}}}|{{{imageonly|}}}|}} |yes|true|1= |#default=<div class="fplink-inner">{{#if:{{{url|}}} |{{#if:{{{1|}}} |[{{{url}}} {{{1}}}] |[{{{url}}}] }} |{{#if:{{{1|}}} |{{#if:{{{2|}}} |[[{{{1}}}|{{{2}}}]] |[[{{{1}}}]] }} }} }} </div> }} </div> </div></includeonly></onlyinclude><noinclude> {{doc}} [[Category:Formatting templates]] </noinclude> 67bd26fe1a69f0d4c18c57aced87b1872d5a2194 Template:Color box 10 87 425 2024-01-18T12:34:53Z {{Infocard}}>Rye Greenwood 0 Added $textformat to force RGB or hexadecimal format and convert the input if necessary (e.g. for easily using the RGB values often found in Terraria's source code but displaying them as hex triplets). Module:Color is used for the conversion, hence +{{lua}}. wikitext text/x-wiki <span class="color-box" style="background:{{{1|}}}; border:1px solid {{{border|}}}; width:{{{size|{{{width|1.25em}}}}}}; height:{{{size|{{{height|1.25em}}}}}};"></span><!-- // display text: -->{{#switch:{{bool|{{{text|}}}}}-{{#if:{{{textformat|}}}|y}}-{{#if:{{{1|}}}|y}}<!-- -->|y--y=&nbsp;<code>{{{1|}}}</code><!-- only if $text is true and $textformat is blank and $1 is not blank -->|y-y-y=&nbsp;{{color box/textformat|{{{1}}}|textformat={{{textformat}}}}}<!-- only if $text is true and $textformat is not blank and $1 is not blank -->}}<!-- --><noinclude> {{lua|Color}} {{doc}} {{category|Templates}} {{language info|en=Template:Color box}} </noinclude> 67618133ebc851d30d8cd6a5b6f331ff6203424c Module:Language info 828 62 371 2024-01-22T13:37:25Z {{Infocard}}>Westgrass 0 sort. Scribunto text/plain -- We only invoke this module once per page, therefore we do not need to use mw.loadData() -- This cache is set in Module:Language_info/data -- Note: -- If a template that's being used by large number of page changed, it will causing all of these page's cache to be invalidated and requires regeneration. -- This may crash wiki platform and cause visitor get 5xx error. So we use luacache to decouple data template and template which uses it. -- By doing this, editing on data template won't cause massive pages to be regenerated. local cache = require 'mw.ext.LuaCache' local info = cache.get(':_language_info:data') if not info then require('Module:Language_info/data').purge() info = cache.get(':_language_info:data') or {} end return { interwiki_links = function(frame) local key = frame.args['en'] local lang = frame.args['lang'] local iwlinks = {} for k,v in pairs(info) do if k ~= lang then if v[key] then iwlinks[#iwlinks+1] = '[[' .. k .. ':'.. v[key] .. ']]' end end end table.sort(iwlinks) return table.concat(iwlinks) end, } 2ade4db7ef0812f4df5342733ab939f7072c2651 372 371 2024-02-07T15:13:13Z Lukkram 396381 1 revision imported Scribunto text/plain -- We only invoke this module once per page, therefore we do not need to use mw.loadData() -- This cache is set in Module:Language_info/data -- Note: -- If a template that's being used by large number of page changed, it will causing all of these page's cache to be invalidated and requires regeneration. -- This may crash wiki platform and cause visitor get 5xx error. So we use luacache to decouple data template and template which uses it. -- By doing this, editing on data template won't cause massive pages to be regenerated. local cache = require 'mw.ext.LuaCache' local info = cache.get(':_language_info:data') if not info then require('Module:Language_info/data').purge() info = cache.get(':_language_info:data') or {} end return { interwiki_links = function(frame) local key = frame.args['en'] local lang = frame.args['lang'] local iwlinks = {} for k,v in pairs(info) do if k ~= lang then if v[key] then iwlinks[#iwlinks+1] = '[[' .. k .. ':'.. v[key] .. ']]' end end end table.sort(iwlinks) return table.concat(iwlinks) end, } 2ade4db7ef0812f4df5342733ab939f7072c2651 Environment 0 55 356 2024-01-22T18:32:20Z Lukkram 396381 Created page with "==Trailmakers Environment== The Worlds of Trailmakers have many different Flora, Fauna and Terrains. Here you can find the listing of all the different types of terrain, plants and creatures you can find exploring the [[Maps]]. =Flora= Plantlife in Trailmakers is everywhere. Ranging from small shrubs and grasses, to giant mushroom covering the sky. {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- |..." wikitext text/x-wiki ==Trailmakers Environment== The Worlds of Trailmakers have many different Flora, Fauna and Terrains. Here you can find the listing of all the different types of terrain, plants and creatures you can find exploring the [[Maps]]. =Flora= Plantlife in Trailmakers is everywhere. Ranging from small shrubs and grasses, to giant mushroom covering the sky. {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- | Example || Example || Example |- | Example || Example || Example |} =Fauna= While exploring, you'll find lots of creatures, like the intelligent species known as "Chirpos", or giant Bumper Whales in the seas. {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- | Example || Example || Example |- | Example || Example || Example |} =Terrain= There are Several types of Terrain In Trailmakers, sorted into their physical properties while interacting with [[Wheels]]. These are: * Dirt * Grass * Mud * Tarmac {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- | Example || Example || Example |- | Example || Example || Example |} 99aa0628fbedb823fc7f2bdce7bbfd85164bad36 Achievements 0 56 357 2024-01-22T19:15:31Z Lukkram 396381 Created page with "=='''Trailmakers Achievements'''== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island Achievements" are Achievements you need to complete in the Race Island Map. ==Danger Zone Achievements== ===3-Pointer=== text ===El Capitan=== Text2 ==Race Island Achievements== ===Island Hopper=== Text ===Hot Air===..." wikitext text/x-wiki =='''Trailmakers Achievements'''== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island Achievements" are Achievements you need to complete in the Race Island Map. ==Danger Zone Achievements== ===3-Pointer=== text ===El Capitan=== Text2 ==Race Island Achievements== ===Island Hopper=== Text ===Hot Air=== Text ===Best View In Town=== Text ==Treasure Island Achievements== ==Rally Mode Achievements== ==Stranded in Space Achievements== ==Other Achievements== f79322f28406a3833a7937abb7fa0f93bc907c4b 358 357 2024-01-25T18:50:00Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map.(Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024) <tabber> |-|Danger Zone= {| class="wikitable" style=" width: 85%; margin: center;" ! colspan="2" | '''3-Pointer extra texto pa ver que putz''' |- | style="width: 70%;" | Shoot Hoops on Danger Zone uuuuuuuuuuuu | style="width: 30%;" | 6.1% uuuuuuuuuuuuuuu |} |-|Race Island= Content is entered here. |-|Treasure Island= Content is entered here. |-|Rally Mode= Content is entered here. |-|Stranded in Space= Content is entered here. |-|Others= Content is entered here. </tabber> ==<big>Danger Zone Achievements</big>== ===3-Pointer=== <small>Shoot Hoops on Danger Zone | (6.1%)</small> ===El Capitan=== Reach the Top of Danger Zone | (8.3%) ==<big>Race Island Achievements</big>== ===Best View In Town=== Land on the Lighthouse on Race Island | (3.5%) ===Hot Air=== Crash into the blimp on Race Island | (7.5%) ===Island Hopper=== Land in all the floating Islands above Race Island in one session | (1.4%) ==<big>Treasure Island Achievements</big>== ===Man In Black=== Text ===Moby Dick=== Text ===Monster!=== Text ===Pay your respect=== Text ===Problem Solver=== Text ===Treehugger=== Text ==<big>Rally Mode Achievements</big>== ===Gold Rush=== Text ===Slide to Win=== Text ===To Fly or Not To Fly=== Text ==<big>Stranded in Space Achievements</big>== ===Bring Marshmallows!=== Text ===Power Core Collector=== Text ===Ready For Takeoff=== Text ===So attractive!=== Text ==<big>Other Achievements</big>== ===Car Collector=== Text ===Leonardo da Vinci=== Text ===Sharing is Caring=== Text ===Sonic Boom=== Text d64f53ada283f3245fb8b588ffdc808a76eab0e8 359 358 2024-01-25T20:46:55Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) <tabber> |-|Danger Zone= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| 3-Pointer | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Shoot Hoops on Danger Zone | style="width: 50%; text-align:center;"| 6.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| El Capitan | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Reach the Top of Danger Zone | style="width: 50%; text-align:center;"| 8.3% |} <!-- ==================================================================================================================================== --> |-|Race Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Best View In Town | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land on the Lighthouse on Race Island | style="width: 50%; text-align:center;"| 3.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Hot Air | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Crash into the blimp on Race Island | style="width: 50%; text-align:center;"| 7.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Island Hopper | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land in all the floating Islands <br> above Race Island in one session | style="width: 50%; text-align:center;"| 1.4% |} <!-- ==================================================================================================================================== --> |-|Treasure Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Man In Black | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Fly through all the rings of <br> fire in Treasure Island in one session | style="width: 50%; text-align:center;"| 4.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Moby Dick | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Bumb into the whales in Treasure Island | style="width: 50%; text-align:center;"| 3.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Monster! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Drive over 8 chickens on <br> Treasure Island in one session | style="width: 50%; text-align:center;"| 10.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Pay your respect | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Visit the monument on Treasure Island | style="width: 50%; text-align:center;"| 9.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px| Problem Solver | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Complete all the ball <br> puzzles on Treasure Island | style="width: 50%; text-align:center;"| 2.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Treehugger | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Hug the Tree on the Northeastern <br> Island in Treasure Island | style="width: 50%; text-align:center;"| 1.6% |} <!-- ==================================================================================================================================== --> |-|Rally Mode= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Gold Rush | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Downhill Rush | style="width: 50%; text-align:center;"| 6.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Slide to Win | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Get gold on Sunny Slide | style="width: 50%; text-align:center;"| 2.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| To Fly or Not To Fly | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Cliff Land | style="width: 50%; text-align:center;"| 2.4% |} <!-- ==================================================================================================================================== --> |-|Stranded in Space= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Bring Marshmallows! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Enter the volcano | style="width: 50%; text-align:center;"| 15.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Power Core Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Find 15 Power Cores in Stranded in Space | style="width: 50%; text-align:center;"| 20.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Ready For Takeoff | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Rebuild your spaceship | style="width: 50%; text-align:center;"| 9.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| So attractive! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Pick up a piece of Salvage <br> with the Tractor Beam | style="width: 50%; text-align:center;"| 35.8% |} <!-- ==================================================================================================================================== --> |-|Others= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Car Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Download and load in a <br> vehicle from the Workshop | style="width: 50%; text-align:center;"| 51.9% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Leonardo da Vinci | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Stay airborne in a zero <br> Power Core vehicle for 60 seconds | style="width: 50%; text-align:center;"| 5.6% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sharing is Caring | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Upload a vehicle to the Workshop | style="width: 50%; text-align:center;"| 10.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sonic Boom | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Break the sound barrier | style="width: 50%; text-align:center;"| 29.2% |} </tabber> d82c769451cfd937c9fdd7e39fa2f92802f9789e Main Page 0 1 360 1 2024-01-25T20:54:19Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 4bd13e8e155c3d1b8c56bc144aec4bdb4fe68baa Template:Infocard 10 57 362 361 2024-02-07T15:13:13Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- // predefined color keywords -->{{#vardefine:infocard:color_melee|#d20000}}<!-- -->{{#vardefine:infocard:color_warrior|{{#var:infocard:color_melee}}}}<!-- -->{{#vardefine:infocard:color_ranged|#21a08d}}<!-- -->{{#vardefine:infocard:color_ranger|{{#var:infocard:color_ranged}}}}<!-- -->{{#vardefine:infocard:color_magic|#9d0d79}}<!-- -->{{#vardefine:infocard:color_mage|{{#var:infocard:color_magic}}}}<!-- -->{{#vardefine:infocard:color_summoning|#066aff}}<!-- -->{{#vardefine:infocard:color_summon|{{#var:infocard:color_summoning}}}}<!-- -->{{#vardefine:infocard:color_summoner|{{#var:infocard:color_summoning}}}}<!-- // characteristic "terraria" color -->{{#vardefine:infocard:color_terraria|var(--theme-accent-color)}}<!-- CSS variable to support light and dark themes // default color -->{{#vardefine:infocard:color_default|var(--custom-accent-border-color)}}<!-- CSS variable to support light and dark themes // translate theme and color parameters according to the predefined keywords if possible, otherwise leave them as-is -->{{#vardefine:infocard:color|{{#var:infocard:color_{{lc:{{{theme|{{{color|}}}}}}}}|{{{theme|{{{color|}}}}}}}}}}<!-- -->{{#vardefine:infocard:color-all|{{#var:infocard:color_{{lc:{{{theme|}}}}}|{{{theme|}}}}}}}<!-- --><div class="infocard clearfix {{{class|}}}" style="{{{css|{{{style|}}}}}}" id="{{{id|}}}"><!-- // minicard to the side -->{{#if:{{{image|{{{imagealt|}}}}}}|<!-- --><div class="card"><!-- --><div class="image clearfix" style="width:{{{size|250px}}}">{{{imagealt|[[File:{{{image|}}}|{{{size|250px}}}|link=]]}}}</div><!-- // there are 3 text parts to display in the minicard: intro, textlist, outro // textlist is comprised of headings and texts and is defined via "card_" parameters, e.g. "|card_foo=Heading|foo=Text" -->{{#vardefine:infocard:textlist|}}<!-- // concatenate all "card_x" and "x" parameters into one big textlist -->{{#forargs:card_|key|heading|<!-- e.g. with "|card_foo=Heading|foo=Text", #var:key is "foo" and #var:heading is "Heading" -->{{#vardefine:infocard:textlist|{{#var:infocard:textlist}}<!-- concat --><dt>{{#var:heading}}</dt><!-- --><dd>{{{ {{#var:key}}|}}}</dd><!-- e.g. "Text" with "|card_foo=Heading|foo=Text" -->}}<!-- -->}}<!-- // open the text content <div> of the minicard -->{{#vardefine:infocard:minicard_closingtag|}}<!-- -->{{#if:{{{cardintro|{{{cardoutro|{{#var:infocard:textlist}}}}}}}}|<!-- --><div class="content clearfix" style="width:{{{size|250px}}}">{{#vardefine:infocard:minicard_closingtag|</div>}}<!-- -->}}<!-- // display part 1: intro text -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardintro|}}}|<!-- --><div class="intro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardintro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:closingtag}}<!-- // display part 2: textlist -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{#var:infocard:textlist}}|<!-- --><dl>{{#vardefine:infocard:closingtag|</dl>}}<!-- -->}}<!-- -->{{#var:infocard:textlist}}<!-- -->{{#var:infocard:closingtag}}<!-- // display part 3: outro -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardoutro|}}}|<!-- --><div class="outro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardoutro|}}}<!-- -->{{#var:infocard:closingtag}}<!-- // close the text content <div> of the minicard -->{{#var:infocard:minicard_closingtag}}<!-- --></div><!-- -->}}<!-- // main heading of the infocard -->{{#if:{{{name|}}}|<!-- -->{{infocard/mainheading<!-- -->|name={{{name|}}}<!-- -->|subname={{{subname|}}}<!-- -->|namenote={{{namenote|}}}<!-- -->|type={{{type|}}}<!-- -->|padding={{{size|}}}<!-- -->|icon={{#if:{{{image|{{{imagealt|}}}}}}||{{{icon|}}}}}<!-- -->|iconalt={{#if:{{{image|{{{imagealt|}}}}}}||{{{iconalt|}}}}}<!-- -->}}<!-- -->}}<!-- // intro text -->{{#vardefine:infocard:intro_closingtag}}<!-- -->{{#if:{{{intro|}}}|<!-- --><div class="intro" style="{{{intro_css|{{{intro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:intro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{intro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:intro_closingtag}}<!-- // boxes // these are defined via "title_" parameters, e.g. "|title_foo=Box heading|foo=Box text" -->{{#forargs:title_|key|heading|<!-- e.g. with "|title_foo=Box heading|foo=Box text", #var:key is "foo" and #var:heading is "Box heading" -->{{infocard/box|title={{#var:heading}}|{{{ {{#var:key}}|}}}}}<!-- -->}}<!-- // outro text -->{{#vardefine:infocard:outro_closingtag}}<!-- -->{{#if:{{{outro|{{{text|}}}}}}|<!-- --><div class="outro" style="{{{outro_css|{{{outro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:outro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{outro|{{{text|}}}}}}<!-- -->{{#var:infocard:outro_closingtag}}<!-- --></div><!-- --></includeonly><noinclude> {{doc}} {{category|Formatting templates}} {{language info|en=Template:Infocard}} </noinclude> c8de6606fd1e985fc5f630b8dfc9a56ebb4e30cf Template:Common 10 58 364 363 2024-02-07T15:13:13Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DISPLAYTITLE Display the translated page title for translation project pages and/or display the italicized page title. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // #var:__global__trp_displaytitle is set in {{translation projects}} // #var:__global__is_italic_title is set in {{italic title}} -->{{#vardefine:_displaytitle|<!-- -->{{#if:{{#var:__global__trp_displaytitle}}|<!-- // display the translated page title -->{{#if:{{#var:__global__is_italic_title}}|<!-- --><i>{{#var:__global__trp_displaytitle}}</i><!-- -->|<!-- -->{{#var:__global__trp_displaytitle}}<!-- -->}}<!-- -->{{#var:__global__trp_displaytitle_suffix}}<!-- -->|<!-- // display the regular title -->{{#if:{{#var:__global__is_italic_title}}|<!-- -->{{#ifeq:{{NAMESPACENUMBER}}|0||{{NAMESPACE}}:}}<i>{{PAGENAME}}</i><!-- don't italicize the namespace -->}}<!-- -->}}<!-- -->}}<!-- -->{{#if:{{#var:_displaytitle}}|{{DISPLAYTITLE:{{#var:_displaytitle}}|noreplace}}}}<!-- --></includeonly><!-- --><noinclude> This template is used for common processes on every page. It is called in {{tl|language info}}. {{category|Templates}} </noinclude> f78bf5339dd5b66ba156a2c44176f20e431f3609 Template:L10n 10 63 374 373 2024-02-07T15:13:13Z Lukkram 396381 1 revision imported wikitext text/x-wiki #REDIRECT [[template:Localization]] a22276c07ff24cff65d115a753ea16d8c92d06b5 Template:( 10 66 380 379 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki {{<noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:(}} </noinclude> 2f2d2587b4eda12c8c6ff378c98c2edbd64e92d9 Template:) 10 67 382 381 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki }}<noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:)}} </noinclude> 5e249e98c325a5e3f9025504b811d5dc23480722 Template:Bool 10 68 384 383 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly>{{#switch:{{lc:{{{1|}}}}}|y|1|yes|true=y|#default={{#if:{{{1|}}}||{{{2|}}}}}}}</includeonly><noinclude>{{doc}} {{language info|en=Template:Bool}} </noinclude> 08bda7d46f97a71529fe2eea6893f1668fbdf584 Template:Error 10 69 386 385 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- // localization info is autoloaded from Template:Error/l10n --><span class="error" data-source="{{{from|{{{source|}}}}}}" title="{{{title|}}}">{{l10n|error|intro}}{{{1|{{{text|}}}}}}</span><!-- -->{{#if:{{bool|{{{cate|y}}}}}|<!-- // general, common error cate -->[[Category:{{l10n|error|cate}}]]<!-- // specific error cate based on the source of the error -->{{#if:{{{from|{{{source|}}}}}}|[[Category:{{l10n|error|cate_from|$from$={{{from|{{{source|}}}}}}}}]]}}<!-- // other, custom error cates -->{{#fornumargs:k|v|<!-- iterate over all unnamed parameters -->{{#ifeq:{{#var:k}}|1||<!-- skip $1 -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->{{#forargs:cate|k|v|<!-- iterate over all parameters of the format "cate<number>", including $cate -->{{#if:{{isNumber|onlypositive=y|0{{#var:k}}}}|<!-- -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Formatting templates}} {{language info|en=Template:Error}} </noinclude> 39e03d8560d763dfd6699fb0f091ed8614c57034 Template:Extension DPL 10 2 388 2 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki <noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].</noinclude> 087ffd4625ae7b1fea3436ec3f929e82ee739d29 Template:Ifexists 10 70 390 389 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly>{{#if: {{#dpl:skipthispage = false | redirects = {{{redirects|include}}} | noresultsheader = 1 | title = {{{1|}}}}} | {{{3|}}} | {{{2|}}} }}</includeonly><noinclude>{{doc}} {{language info|en=Template:Ifexists}} </noinclude> 0e3c5bc19f1f8c0e766286883ad2bd1a2a87fe4a Template:Options/get 10 71 392 391 2024-02-07T15:13:14Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- $1: namespace, $2: key $1 $2 are not trimmed for better performance. auto init from {{<ns>/initOptions}}. -->{{#if:{{#var:optionsInitialized:{{{1|}}}}}||{{#if:{{{1|}}}|{{#vardefine:_| {{ {{{1|}}}/initOptions }} }}}}}}<!-- get option value -->{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:{{{2|}}}|<__invalid__>}}}}<!-- --></includeonly><noinclude> example: <pre> {{options/get|namespace|foo}} </pre> See {{tl|options}} for more info. {{language info|en=Template:Options/get}} </noinclude> 81dceb5875606d17e78e7f1eb92baf07950f48d1 Template:Options/init 10 72 394 393 2024-02-07T15:13:15Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- set flag: -->{{#vardefine:optionsInitialized:{{{1|}}}|y}}<!-- -->{{#vardefine:options:{{{1|}}}:<__invalid__>|{{error|Inexistent option key}}}}<!-- all $key=$default_value pairs -->{{#vardefine:optionsKeys:{{{1|}}}|}}<!-- -->{{#forargs:key:|$key|$value|<!-- -->{{#vardefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}{{#var:$key}},}}<!-- append to key list -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$key}}}}<!-- register key alias (for better performance) //default value: -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:y|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:n|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|#default=<!-- -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- -->}}<!-- -->{{#arraydefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}|,|unique}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- here $key is "name:value" -->}}<!-- //make an init snapshot. //don't use {{options/snap}} here to avoid template loop -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsSnap:{{{1|}}}:__RESET__:@@@@|{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:@@@@|<__invalid__>}}}}}}<!-- -->}}<!-- ==== doc mode: gen doc, table rows ==== -->{{#if:{{#var:__FLAG_OPTIONS_AUTODOC__}}|<!-- key name: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|<td><code>@@@@</code></td><td>}}<!-- -->}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- $key is alias, $value is origin key name. -->{{#vardefine:optionsDoc:{{#var:$value}}|{{#var:optionsDoc:{{#var:$value}}}}<code>{{#var:$key}}</code><br/>}}<!-- -->}}<!-- initial value: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|{{#var:optionsDoc:@@@@}}</td><td><code>{{#var:options:{{{1|}}}:@@@@|<i><small>(empty)</small></i>}}</code></td><td>}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- //here $key is "name:value" -->{{#vardefine:_key|{{#explode:{{#var:$key}}|:|0|2}}}}<!-- -->{{#vardefine:_from|{{#explode:{{#var:$key}}|:|1|2}}}}<!-- -->{{#vardefine:optionsDoc:{{#var:_key}}|{{#var:optionsDoc:{{#var:_key}}}}<code>{{#var:_from}}</code> → <code>{{#var:$value|<i><small>(empty)</small></i>}}</code><br/>}}<!-- -->}}<!-- // (bool:true) and (bool:false) -->{{#forargs:key:|$key|$value|<!-- -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>y</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>yes</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>on</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>n</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>off</code> → <code><i><small>(empty)</small></i></code><br/><!-- -->}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|#default=<!-- nothing -->}}<!-- -->}}<!-- -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|}}<!-- reset flag -->}}<!-- --></includeonly><noinclude> example: <pre> {{options/init|item<!-- -->|key:icons=yes<!-- default value of "icons" option is "yes" -->|key:small=no<!-- default value of "small" option is "no" -->|value:small:n=no<!-- value "n" for "small" is same as "no", {{options/set|item|small=n}} is same as {{options/set|item|small=no}} -->|key:style=<!-- default value of "style" is empty value. -->|alias:css=style<!-- "css" is an alias of "style", so {{options|item|css}} is same as {{options|item|style}} -->|key:wrap=(bool:true)<!-- bool value, default value is empty, empty value means true, nonempty value means false -->|key:nolink=(bool:false)<!-- default value is empty, e, nonempty value means false -->}} </pre> See {{tl|options}} for more info. {{language info|en=Template:Options/init}} </noinclude> 9a98f5969cdd42001db213a5a2d61adcf78d9c95 Template:Tl 10 73 396 395 2024-02-07T15:13:15Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:tl:nolink|{{bool|{{{nl|}}}}}}}<!-- -->{{#if:{{bool|{{{code|}}}}}|<code>}}<!-- -->{{(}}<!-- -->{{#uesc:{{#rmatch:{{{1|}}}|^#(\s*(\w+?)\s*)(:(.*)${{!}}$)|<esc><!-- // parser functions -->{{#vardefine:tl:parserf_link|}}<!-- -->{{#vardefine:tl:parserf_link|{{tl/parser function links|$2}}}}<!-- get link to doc page --><nowiki/>#<!-- -->{{#if:{{#var:tl:nolink}}{{#if:{{#var:tl:parserf_link}}||y}}|<!-- --><span title="#$1:">$1</span><!-- -->|<!-- --><span class=plainlinks>[{{tl/parser function links|$2}}##$2 $1]</span><!-- -->}}<!-- -->:$4<!-- --></esc>|<!-- // templates -->{{#if:{{#var:tl:nolink}}{{ifexists|Template:{{{1}}}|3=n}}|<!-- --><span title="{{ns:Template}}:{{ucfirst:{{{1}}}}}">{{{1}}}</span><!-- -->|<!-- -->[[Template:{{{1}}}|{{{1}}}]]<!-- -->}}<!-- -->}}}}<!-- -->{{#or:<!-- -->{{#dplreplace:{{{__paramslist|}}}|/₪/|{{!}}}}<!-- -->|<!-- -->{{#fornumargs:k|v|<!-- -->{{#ifexpr:{{#var:k}}!=1|<!-- skip first parameter -->{{!}}{{#var:v}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->{{)}}<!-- -->{{#if:{{bool|{{{code|}}}}}|</code>}}<!-- --></includeonly><!-- --><noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:Tl}} </noinclude> 027b14ee0e8cd437c3feb733518badca06e2bf9a Template:Fullurl 10 8 402 41 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly>{{#if: {{{nolink|}}} | <nowiki>http://help.gamepedia.com/index.php?title=</nowiki>{{{1}}}{{#if: {{{2|}}} | &{{{2}}} }} |<!-- --><span class="plainlinks">{{#if: {{{text|}}} | [ }}{{fullurl: {{{1}}} | {{{2|}}} }} {{#if: {{{text|}}} | {{{text}}}]}}</span>}}</includeonly><noinclude>{{doc}} [[Category:Formatting templates|{{PAGENAME}}]]</noinclude> 46367eacd22a6dce7076a2ab94d525b760c66e2b Template:IsNumber 10 76 404 403 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly>{{#rmatch:{{{1|}}}|{{#if:{{bool|{{{onlypositive|}}}}}|^\d+$|^-?\d+$}}|y}}</includeonly><noinclude>{{doc}} {{language info|en=Template:IsNumber}} </noinclude> 58acf6a9e41a46416c766f4d714f90a52953cf69 Template:Category 10 77 406 405 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- -->{{#if:{{langList|isOnWiki|{{{lang|{{lang|}}}}}}}|<!-- -->[[Category:<!-- -->{{{1|}}}/{{{lang|{{lang|}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{{2}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- the space here is needed for blank sortkeys -->|<!-- // loading glossary for this language: -->{{#if:{{#dplvar:_cate_glossary_{{{lang|{{lang|}}}}}}}|| {{category/db-{{{lang|{{lang|}}}}}}} }}<!-- -->[[Category:<!-- -->{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{1|}}}}}}}|{{tr|{{{1|}}}|lang={{{lang|{{lang|}}}}}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{2|}}}}}}}|{{tr|{{{2|}}}|lang={{{lang|{{lang|}}}}}}}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Templates}} {{language info|en=Template:Category}} </noinclude> 353882f9f8269d2efb786ee796f9bcf2f5604359 Template:Reflist 10 78 408 407 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }} <!-- -->{{#if:{{{css|{{{style|}}}}}}|style="{{{css|{{{style|}}}}}}"}}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div><noinclude> {{doc}} {{category|Extension templates}} {{language info|en=Template:Reflist}} </noinclude> d7391d0b0cc941a0a8276d71f36ebbb71f838726 Template:Flexend 10 79 410 409 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly></div></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. {{category|Flexbox templates}} {{language info|en=Template:Flexend}} </noinclude> 1bf8a3e7d576436497a47201ebd681739fc7d04c Template:Flexstart 10 80 412 411 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><div style="<!-- ======= type: flexbox and/or flexitem ======= //parameter: {{{1}}}, 'item' for flexitem only (not a flexbox); 'inline' or 'inlinebox' for inline-flexbox; other values for flexbox -->{{#switch:{{{1|}}}<!-- -->|inlinebox|inline=display:inline-flex;<!-- -->|item=<!-- need nothing -->|#default=display:flex;<!-- -->}}<!-- ======= parameters for flexbox ======= -->{{#ifeq:{{{1}}}|item||<!-- only if $type != item //parameter: wrap, default value is 'wrap' -->{{#switch:{{{wrap|}}}<!-- -->|no|nowrap=flex-wrap:nowrap;<!-- -->|#default=flex-wrap:wrap;<!-- -->}}<!-- //paramter: direction, no need to set up default, just left blank to use css default. -->{{#switch:{{{direction|}}}<!-- -->|=<!-- Only if explicitly specified -->|row-reverse=flex-direction:row-reverse;<!-- -->|column=flex-direction:column;<!-- -->|column-reverse=flex-direction:column-reverse;<!-- -->|#default=flex-direction:row;<!-- -->}}<!-- //paramter: justify, no need to set up default, just left blank to use css default. -->{{#switch:{{{justify|}}}|<!-- -->|=<!-- Only if explicitly specified -->|left|flex-start=justify-content:flex-start;<!-- -->|right|flex-end=justify-content:flex-end;<!-- -->|justified|space-between=justify-content:space-between;<!-- -->|space-around=justify-content:space-around;<!-- -->|#default=justify-content:{{{justify|}}};<!-- -->}}<!-- //paramter: alignitems, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignitems|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-items:flex-start;<!-- -->|bottom|flex-end=align-items:flex-end;<!-- -->|middle=align-items:center;<!-- -->|#default=align-items:{{{alignitems|}}};<!-- -->}}<!-- //paramter: alignlines, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignlines|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-content:flex-start;<!-- -->|bottom|flex-end=align-content:flex-end;<!-- -->|justified|space-between=align-content:space-between;<!-- -->|#default=align-content:{{{alignlines|}}};<!-- -->}}<!-- -->}}<!-- end if $type != item ======= parameters for flexitem ======= //parameter: order -->{{#if:{{{order|}}}|<!-- -->order:{{{order|}}};<!-- -->}}<!-- //parameter: grow -->{{#if:{{{grow|}}}|<!-- -->flex-grow:{{{grow|}}};<!-- -->}}<!-- //parameter: shrink -->{{#if:{{{shrink|}}}|<!-- -->flex-shrink:{{{shrink|}}};<!-- -->}}<!-- //parameter: basis -->{{#if:{{{basis|}}}|<!-- -->flex-basis:{{{basis|}}};<!-- -->}}<!-- //paramter: alignself, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignself|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-self:flex-start;<!-- -->|bottom|flex-end=align-self:flex-end;<!-- -->|middle=align-self:center;<!-- -->|#default=align-self:{{{alignself|}}};<!-- -->}}<!-- ======= parameters for general css property or html attribute ======= //parameter: width -->{{#if:{{{width|}}}|width:{{{width|}}};}}<!-- //parameter: height -->{{#if:{{{height|}}}|height:{{{height|}}};}}<!-- //paramter: css / style -->{{#if:{{{css|{{{style|}}}}}}|{{{css|{{{style|}}}}}};}}<!-- //parameter: class arrtibute -->"{{#if:{{{cssclass|{{{class|}}}}}}|<nowiki/> class="{{{cssclass|{{{class|}}}}}}"}}<!-- //parameter: id arrtibute -->{{#if:{{{id|}}}|<nowiki/> id="{{{id|}}}"}}<!-- ending tag-->></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. {{category|Flexbox templates}} {{language info|en=Template:Flexstart}} </noinclude> 52c1286675565f2513542dbccfbc96b4414dd28a Template:Infocard/box 10 81 414 413 2024-02-07T15:13:16Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/box}} </noinclude> 26edf2e29edb5e7afe26d930d1c3f74dacb3a746 Template:Infocard/initOptions 10 82 416 415 2024-02-07T15:13:17Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- -->{{options/init|infocard<!-- -->|key:size=250px<!-- -->|alias:cardsize=size<!-- -->|alias:minicardsize=size<!-- -->|key:class=<!-- -->|key:css=<!-- -->|alias:style=css<!-- -->|key:color=<!-- -->|key:theme=<!-- -->|key:box-css=<!-- -->|alias:box-style=box-css<!-- -->|key:box-class=<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{options subtemplate}} {{language info|en=Template:Infocard/initOptions}} </noinclude> be81a52038015af290e88061f13056213182a26c Template:Infocard/heading 10 83 418 417 2024-02-07T15:13:17Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><div class="heading">{{{1|}}}</div></includeonly><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/heading}} </noinclude> e0a88b9d802d390bb6b6bdcb8f108b5c0924f005 Template:Infocard/mainheading 10 84 420 419 2024-02-07T15:13:17Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- --><div class="main-heading" style="background:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};border-right-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};padding-right:{{{padding|0}}};{{{style|{{{css|}}}}}}"><!-- // display text --><div class="hgroup"><!-- -->{{#if:{{{type|}}}|<div>{{{type}}}</div>}}<!-- --><div class="main"><!-- -->{{{1|{{{name|}}}}}}<!-- -->{{#if:{{{namenote|}}}|<span class="namenote">&#32;{{{namenote}}}</span>}}<!-- --></div><!-- -->{{#if:{{{subname|}}}|<div>{{{subname}}}</div>}}<!-- --></div><!-- // display icon // $icon and $iconalt might be set to blank values, e.g. when this template is called from {{infocard}} or {{infocard/start}}, hence the #or -->{{#if:{{{icon|}}}{{{iconalt|}}}|<!-- --><div class="{{{iconclass|}}} icon clearfix" style="--iconsize: {{{iconsize|auto}}}">{{#or:{{{iconalt|}}}|[[File:{{{icon|}}}|link=]]}}</div><!-- -->}}<!-- --></div><!-- --></includeonly><!-- --><noinclude> {{internal subtemplate}} {{category|Formatting templates}} {{language info|en=Template:Infocard/mainheading}} </noinclude> 26cd9dfa770c9e863ffdb04a2f357effbcba2410 Template:Dotlist 10 85 422 421 2024-02-07T15:13:17Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- --><div class="dotlist {{#switch:{{{bold|{{#dplvar:_dotlist_flag_bold|}}}}}|n|no=nobold}} {{{space|{{#dplvar:_dotlist_flag_space|}}}}} {{#switch:{{{dot|{{#dplvar:_dotlist_flag_dot|}}}}}|n|no=nodot}} {{#if:{{bool|{{{inline|}}}}}|inline}} {{{class|{{#dplvar:_dotlist_flag_class|}}}}}" style="{{{css|{{#dplvar:_dotlist_flag_css|}}}}};{{{style|}}}"><!-- -->{{#if:{{{title|}}}|<span class="title">{{{title|}}}</span>}}<!-- -->{{#if:{{bool|{{{paren|}}}}}|(}}<ul><!-- -->{{#fornumargs:_|v|<li>{{#var:v}}</li>}}<!-- --></ul>{{#if:{{bool|{{{paren|}}}}}|)}}<!-- --></div><!-- --></includeonly><!-- --><noinclude>{{doc}} {{category|Formatting templates}} {{category|Dual-style templates}} {{language info|en=Template:Dotlist}} </noinclude> bad27c97e01e1523180ed59832a17dbfb89d2580 Template:Transform 10 86 424 423 2024-02-07T15:13:17Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- // assemble a string of transformations by iterating over all parameters in order -->{{#vardefine:transform:style|<!-- -->{{#forargs:|parametername|parametervalue|<!-- -->{{#switch:{{#var:parametername}}<!-- -->|flip= scaleY(-1)<!-- -->|mirror= scaleX(-1)<!-- -->|rotation= rotate({{#var:parametervalue}}deg)<!-- -->|scale= scale({{#var:parametervalue}},{{#var:parametervalue}})<!-- -->}}<!-- -->}}<!-- -->}}<!-- // output --><div style="{{{style|}}}; display: {{{display|inline-block}}}; -moz-transform: {{#var:transform:style}}; -ms-transform: {{#var:transform:style}}; -o-transform: {{#var:transform:style}}; -webkit-transform: {{#var:transform:style}}; transform: {{#var:transform:style}}">{{{1}}}</div><!-- --></includeonly><noinclude>{{doc}} {{category|Formatting templates}} {{language info|en=Template:Transform}} </noinclude> 7ef19129fe94dc16aca965453bf6dec4a7aa8160 Template:Color box 10 87 426 425 2024-02-07T15:13:18Z Lukkram 396381 1 revision imported wikitext text/x-wiki <span class="color-box" style="background:{{{1|}}}; border:1px solid {{{border|}}}; width:{{{size|{{{width|1.25em}}}}}}; height:{{{size|{{{height|1.25em}}}}}};"></span><!-- // display text: -->{{#switch:{{bool|{{{text|}}}}}-{{#if:{{{textformat|}}}|y}}-{{#if:{{{1|}}}|y}}<!-- -->|y--y=&nbsp;<code>{{{1|}}}</code><!-- only if $text is true and $textformat is blank and $1 is not blank -->|y-y-y=&nbsp;{{color box/textformat|{{{1}}}|textformat={{{textformat}}}}}<!-- only if $text is true and $textformat is not blank and $1 is not blank -->}}<!-- --><noinclude> {{lua|Color}} {{doc}} {{category|Templates}} {{language info|en=Template:Color box}} </noinclude> 67618133ebc851d30d8cd6a5b6f331ff6203424c Template:Flexbox 10 88 428 427 2024-02-07T15:13:18Z Lukkram 396381 1 revision imported wikitext text/x-wiki {{flexstart|{{#if:{{{inline|}}}|inline}}<!-- -->|wrap={{{wrap|}}}<!-- -->|direction={{{direction|}}}<!-- -->|justify={{{justify|}}}<!-- -->|alignitems={{{alignitems|}}}<!-- -->|alignlines={{{alignlines|}}}<!-- -->|width={{{width|}}}<!-- -->|height={{{height|}}}<!-- -->|css={{{css|{{{style|}}}}}}<!-- -->|cssclass={{{cssclass|{{{class|}}}}}}<!-- -->|id={{{id|}}}<!-- -->}}<!-- -->{{#fornumargs:_|v|{{#var:v}}}}<!-- -->{{flexend}}<noinclude>{{doc}} {{category|Flexbox templates}} {{language info|en=Template:Flexbox}} </noinclude> 9c145e6a015b1e2826a1db5ef2f85dbc6edaad8d Template:Infocard/doc 10 89 430 429 2024-02-07T15:13:20Z Lukkram 396381 1 revision imported wikitext text/x-wiki This template is used to display content in an "info card", which may be visually more appealing than plain text in certain contexts. It has several subtemplates: * For documentation of {{tl|infocard/box}}, see [[#Custom boxes|Custom boxes]]. * For documentation of {{tl|infocard/mainheading}} and {{tl|infocard/heading}}, see [[#Custom headings|Custom headings]]. * For documentation of {{tl|infocard/start}}, {{tl|infocard/end}}, {{tl|infocard/box/start}}, and {{tl|infocard/box/end}}, see [[#Start and end|Start and end]]. == Standard usage == <div class="mw-code">{{(}} '''infocard'''<br/><!-- --><br/>| theme = ''&lt;theme color&gt;''<!-- --><br/>| color = ''&lt;theme color&gt;''<!-- --><br/>| class = ''&lt;custom CSS classes&gt;''<!-- --><br/>| ''style / css'' = ''&lt;custom CSS rules&gt;''<!-- --><br/>| id = ''&lt;HTML ID&gt;''<!-- --><br/><!-- --><br/>| name = ''&lt;main heading text&gt;''<!-- --><br/>| type = ''&lt;smaller text above main heading&gt;''<!-- --><br/>| namenote = ''&lt;smaller text after main heading&gt;''<!-- --><br/>| subname = ''&lt;smaller text below main heading&gt;''<!-- --><br/><!-- --><br/>| icon = ''&lt;image name of icon next to main heading&gt;''<!-- --><br/>| iconalt = ''&lt;custom icon display&gt;''<!-- --><br/>| iconsize = ''&lt;icon size&gt;''<!-- --><br/>| iconclass = ''&lt;custom CSS classes for icon&gt;''<!-- --><br/><!-- --><br/>| intro = ''&lt;text above boxes&gt;''<!-- --><br/>| ''intro_style / intro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/>| ''title_&lt;key1&gt; / title_&lt;key2&gt; / ...'' = ''&lt;box title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;box content&gt;''<!-- --><br/>| ''text / outro'' = ''&lt;text below boxes&gt;''<!-- --><br/>| ''outro_style / outro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/><!-- --><br/>| size = ''&lt;minicard width&gt;''<!-- --><br/>| image = ''&lt;minicard image name&gt;''<!-- --><br/>| imagealt = ''&lt;custom minicard image display&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text above sub-titles&gt;''<!-- --><br/>| ''card_&lt;key1&gt; / card_&lt;key2&gt; / ...'' = ''&lt;minicard sub-title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;text below respective minicard sub-title&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text below sub-titles&gt;''<!-- --><br/><!-- --><br/>{{)}}</div> ; theme, color Color of the heading bars in the infocard. <code>$theme</code> affects both the card's principal heading and the headings of boxes, whereas <code>$color</code> only affects the card's principal heading. Values can be any valid CSS color (e.g. <code>#E4F0F7</code>, <code>red</code>, <code>rgba(0,0,0,0.3)</code>), or one of these predefined shortcuts (mainly intended for [[Guide:Class setups]]): {| class="wikitable" | {{dotlist|<code>melee</code>|<code>warrior</code>}} | {{color box|text=y|#D20000}} |- | {{dotlist|<code>ranged</code>|<code>ranger</code>}} | {{color box|text=y|#21A08D}} |- | {{dotlist|<code>magic</code>|<code>mage</code>}} | {{color box|text=y|#9D0D79}} |- | {{dotlist|<code>summoning</code>|<code>summon</code>|<code>summoner</code>}} | {{color box|text=y|#066AFF}} |- | {{dotlist|<code>terraria</code>}} | {{color box|text=y|var(--theme-accent-color)}} |- | {{dotlist|<code>default</code>}} | {{color box|text=y|var(--custom-accent-border-color)}} |} If omitted, the default value is {{color box|text=y|var(--theme-highlight-background)}}. ; class CSS class(es) to add to the infocard. Values can be any custom classes and/or these special classes: * <code>compact</code>: Reduces the size of the infocard somewhat, in particular the heading. * <code>auto-width</code>: By default, the infocard occupies the entire width of the article, potentially overlapping floating elements like an image thumbnail. This class causes it to only take up available space, i.e. not overlap floating elements. * <code>biome</code>: Designed for the special infocard format used on biomes' and events' pages (groups of boxes laid out in a flexbox format). See many pages in [[:Category:Environments]] for examples. ; style/css Custom styling for the infocard. ; id ID attribute for the infocard. Can be used for more complex styling via CSS, or for directly linking to the infocard (also see {{tl|anchor}}). ; name Most prominent heading of the infocard. ; type Smaller text above <code>$name</code>, to be used for grouping infocards. ; namenote Smaller text directly after <code>$name</code>, for supplemental information. ; subname Smaller text below <code>$name</code>, for supplemental information. ; icon File name of the icon to be displayed to the right of the infocard's heading, without <code><nowiki>[[File:</nowiki></code> syntax (just the file name). ; iconalt By default, the icon is displayed as <code><nowiki>[[File:$icon|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the icon. ; iconsize Size of the icon in any valid CSS length (e.g. <code>20px</code>, <code>1.5em</code>), default is <code>auto</code>. ; iconclass CSS class(es) to add to the icon. ; intro Main content of the infocard. Will be displayed above any potential boxes. ; intro_style/intro_css Custom styling for the <code>$intro</code> text. ; text/outro Main content of the infocard. Will be displayed below any potential boxes. ; outro_style/outro_css Custom styling for the <code>$text</code>/<code>$outro</code> text. ; title_&lt;key&gt;, &lt;key&gt; Boxes to be displayed between <code>$intro</code> and <code>$text</code>/<code>$outro</code>. Assign each box an identifier (a "key"), then use the parameter <code>$title_&lt;key&gt;</code> for the heading of the box and the parameter <code>$&lt;key&gt;</code> for the content of the box. For instance, use <code>| title_box1 = First box | box1 = Lorem ipsum</code> to display a box with the heading "First box" and the content "Lorem ipsum". <code>box1</code> is the identifier ("key") in this example. ; image Enables a "mini card" to the side of the infocard which consists of an image (as defined by this parameter, without <code><nowiki>[[File:</nowiki></code> syntax) and potentially additional text below it. If the minicard is enabled, the <code>$icon</code> will not be displayed, because they both occupy the same spot. ; imagealt By default, the image is displayed as <code><nowiki>[[File:$image|$size|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the image. ; size Width of the image/minicard (without border): * If <code>$image</code> is used, the image will be as wide as the minicard. The value for <code>$size</code> must be in pixels (because it must conform to the <code><nowiki>[[File:</nowiki></code> syntax). * If <code>$imagealt</code> is used, <code>$size</code> will only affect the width of the minicard, as the image width is custom. The value for <code>$size</code> can be any valid CSS length (e.g. <code>200px</code>, <code>5em</code>). The default value is <code>250px</code>. ; cardintro Main content of the minicard. Will be displayed above any potential sub-headings. ; cardoutro Main content of the minicard. Will be displayed below any potential sub-headings. ; card_&lt;key&gt;, &lt;key&gt; Sub-headings to be displayed between <code>$cardintro</code> and <code>$cardoutro</code>. Assign each sub-heading an identifier (a "key"), then use the parameter <code>$card_&lt;key&gt;</code> for the heading and the parameter <code>$&lt;key&gt;</code> for the text below the heading. For instance, use <code>| card_part1 = First sub-heading | part1 = Lorem ipsum</code> to display a sub-heading "First sub-heading" and text "Lorem ipsum" below it. <code>part1</code> is the identifier ("key") in this example. === Visualization === This is a visualization of what part is affected by each parameter: {{infocard |type=<code><nowiki>{{{type}}}</nowiki></code> |name=<code><nowiki>{{{name}}}</nowiki></code> |namenote=<code><nowiki>{{{namenote}}}</nowiki></code> |subname=<code><nowiki>{{{subname}}}</nowiki></code> |imagealt=<div style="padding: 70px 0.5em;text-align: center; background: var(--theme-background-accent)"><code><nowiki>{{{image}}}</nowiki></code> or <code><nowiki>{{{imagealt}}}</nowiki></code><br/><br/>With <code><nowiki>{{{icon}}}</nowiki></code> or <code><nowiki>{{{iconalt}}}</nowiki></code>, this will be a simple icon instead of a full minicard.</div> |size=300px |cardintro=<code><nowiki>{{{cardintro}}}</nowiki></code> |card_index1=<code><nowiki>{{{card_<key1>}}}</nowiki></code> |index1=<code><nowiki>{{{<key1>}}}</nowiki></code> |card_index2=<code><nowiki>{{{card_<key2>}}}</nowiki></code> |index2=<code><nowiki>{{{<key2>}}}</nowiki></code> |card_index3=... |index3=... |cardoutro=<code><nowiki>{{{cardoutro}}}</nowiki></code> |intro=<code><nowiki>{{{intro}}}</nowiki></code> |title_keyA=<code><nowiki>{{{title_<keyA>}}}</nowiki></code> |keyA=<code><nowiki>{{{<keyA>}}}</nowiki></code> |title_keyB=<code><nowiki>{{{title_<keyB>}}}</nowiki></code> |keyB=<code><nowiki>{{{<keyB>}}}</nowiki></code> |title_keyC=<code><nowiki>{{{title_<keyC>}}}</nowiki></code> |keyC=<code><nowiki>{{{<keyC>}}}</nowiki></code> |title_keyD=<code><nowiki>...</nowiki></code> |keyD=<code><nowiki>...</nowiki></code> |outro=<code><nowiki>{{{outro}}}</nowiki></code> or <code><nowiki>{{{text}}}</nowiki></code> }} === Examples === ==== Simple ==== <pre>{{ infocard | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Icon ==== <pre>{{ infocard | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Boxes ==== <pre>{{ infocard | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }} ==== Minicard ==== <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }}</pre> {{ infocard | style = margin-top: 0.5em | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }} == Custom boxes == The standard layout of an infocard's content is as described above: intro – boxes – outro. Because this can be limiting, it is possible to manually create boxes in the intro and outro. The subtemplate used for this is {{tl|infocard/box}}. <code>{{(}} '''infocard/box''' | title = ''&lt;box heading&gt;'' | ''&lt;box contents&gt;'' | color = ''&lt;theme color&gt;'' | titlealt = ''&lt;custom box heading format&gt;'' | class = ''&lt;custom CSS classes&gt;'' | ''style/css'' = ''&lt;custom styling&gt;'' {{)}}</code> ; title Heading of the box. ; First unnamed parameter Contents of the box. ; color Color of the heading bar; see [[#Standard usage|above]] for details. ; titlealt Customize the format of the heading completely. See the source code of [[Template:Infocard/box]] for the default format and how this parameter overrides it. ; class CSS class(es) to add to the box. ; style/css Custom styling for the box. === Examples === ==== Simple ==== <pre>{{ infocard | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | The Underworld is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | [[The Underworld]] is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }} ==== Nested boxes ==== <pre>{{ infocard | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }} == Custom headings == It is possible to replicate the standard heading at the top of the infocard elsewhere inside it. The subtemplate used for this is {{tl|infocard/mainheading}}. <code>{{(}} '''infocard/mainheading''' | ''&lt;main heading text&gt;'' | type = ''&lt;smaller text above&gt;'' | namenote = ''&lt;smaller text after&gt;'' | subname = ''&lt;smaller text below&gt;'' | color = ''&lt;theme color&gt;'' | icon = ''&lt;icon file name&gt;'' | iconalt = ''&lt;custom icon display&gt;'' | iconsize = ''&lt;icon size&gt;'' | iconclass = ''&lt;custom CSS classes for icon&gt;'' {{)}}</code> These parameters are exactly like the ones used for {{tl|nl=y|infocard}} (except that {{tl|nl=y|infocard/mainheading}} also accepts an unnamed parameter 1, as an alternative for <code>$name</code>). See [[#Standard usage|above]] for their descriptions. An additional helper subtemplate is {{tl|infocard/heading}}, which displays a simple, less prominent heading anywhere in the infocard. === Examples === See [[#Examples|above]] for more examples of heading variations. <pre>{{ infocard | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }}</pre> {{ infocard | style = margin-top: 0.5em | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }}</pre> {{ infocard | style = margin-top: 0.5em | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }} == Start and end == For more complex and convoluted infocards, it is not practical to pass content to the template via the <code>$text</code>/<code>$intro</code>/<code>$outro</code> parameters. These have the usual limitations of template parameters, like pipes (<code>|</code>) and equals signs (<code>=</code>) having to be escaped, the post-expand include size being increased, etc. To circumvent these limitations, use the subtemplates {{tl|infocard/start}} and {{tl|infocard/end}}. The start subtemplate has the exact same parameters as the normal {{tl|nl=y|infocard}} and the end subtemplate has no parameters. Thanks to {{(}}[[#Custom headings|infocard/mainheading]]{{)}} and {{(}}[[#Custom boxes|infocard/box]]{{)}}, it is still possible to use headings and boxes in an infocard transcluded like this. The regular way to transclude an infobox as described above would be this: <pre> {{infocard | name = Guide | text = The first NPC encountered by the player. }} </pre> With start and end templates, it would look like this: <pre> {{infocard/start}} {{infobox/mainheading|Guide}} The first NPC encountered by the player. {{infocard/end}} </pre> The output is identical. Similar subtemplates exist for {{(}}[[#Custom boxes|infocard/box]]{{)}}: {{tl|infocard/box/start}} and {{tl|infocard/box/end}}. They similarly allow a more convoluted setup of a box in an infocard. == Options == {{options/autodoc|note_box-css=Default css for {{tl|infocard/box}}.}} == Subpages == <div style="-webkit-column-count:3;column-count:3;"> {{#dpl: |namespace=Template |titlematch=Infocard/% |notcategorymatch=% translation |nottitlematch=%/doc% |ordermethod=title |columns=3 }} </div> <noinclude> {{category|Template documentation}} {{language info|en=Template:Infocard/doc}} </noinclude> 2c2cb1b1e8f0721ec1df19bf83835b764c80fbc0 Template:Doc 10 90 432 431 2024-02-07T15:13:20Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- // localization info is autoloaded from Template:Doc/l10n --><div class="documentation"><!-- --><div class="documentation_header"><!-- -->[[File:Template-{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|{{#if:{{{baddoc|}}}|bad}}|no}}info.svg|50px|link=]] <!-- --><span style="font-weight: bold; font-size: 125%; margin-right: 10px;">{{l10n|doc|documentation}}</span> <!-- -->{{#ifeq:{{SUBPAGENAME}}|{{l10n|doc|doc_subpage}}|<!--nothing-->|<!-- -->{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|<!-- --><span style="font-size: 90%; font-style: italic;"><!-- -->{{l10n|doc|text<!-- -->|$page$=[[{{ns:Template}}:{{ucfirst:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}]]<!-- -->|$edit$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=edit|text={{l10n|doc|edit}}}}<!-- -->|$history$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=history|text={{l10n|doc|history}}}}<!-- -->}}<!-- --></span><!-- -->}}<!-- -->}}<!-- --><div style="float: right; margin-left: 5px;"><!-- -->[{{fullurl|{{FULLPAGENAMEE}}|action=purge|text={{l10n|doc|purge}}}}]<!-- --></div><!-- --></div><!-- -->{{#if:{{l10n|doc|direct_to_en}}|{{dablink|{{l10n|doc|direct_to_en|$link_to_en$=[[:en:Template:{{PAGENAME}}|Template:{{PAGENAME}}]]}}}}}}<!-- leave line break here --> <!-- -->{{#ifexist:Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|<!-- -->{{#if:{{{baddoc|}}}|<!-- -->{{doc/baddoc message|issues={{{baddoc}}}}}<!-- -->{{Category|{{l10n|doc|cate_baddoc}}}}<!-- -->}}<!-- leave line break here --> <!-- -->{{Template:{{{1|{{PAGENAME}}}}}/{{l10n|doc|doc_subpage}}|{{{1|}}}}}<!-- -->|<!-- -->{{l10n|doc|createdoc_text<!-- -->|$link$={{fullurl|{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/{{l10n|doc|doc_subpage}}|action=edit|preload=Template:Doc/preload|text={{l10n|doc|createdoc_linktext}}}}<!-- -->}}<!-- -->{{Category|{{l10n|doc|cate_nodoc}}}}<!-- -->}}<!-- leave line break here --> <!-- --><div style="margin: 15px 0 0 0"><!-- -->{{#ifeq:{{SUBPAGENAME}}|{{l10n|doc|doc_subpage}}|<!-- -->{{#ifeq:{{BASEPAGENAME}}|Doc|<!--nothing-->|<!-- only if page is not Template:Doc -->{{l10n|doc|thisisdoc_text}}<!-- -->{{Category|{{l10n|doc|cate_doctemplates}}|{{BASEPAGENAME}}}}{{Category|{{l10n|doc|cate_baddoc}}}}<!-- -->}}<!-- -->}}<!-- --></div><!-- --></div><!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} {{category|Template documentation| }} {{language info|en=Template:Doc}} </noinclude> 7c4216044658c20334742e9592c2fddadb81759f Template:Options/autodoc 10 91 434 433 2024-02-07T15:13:21Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:options_namespace|{{#or:{{{1|}}}|{{lcfirst:{{ROOTPAGENAME}}}}}}}}<!-- "Chance" for "Template:Chance/doc" -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|yes}}<!-- -->{{#ifeq:{{NAMESPACENUMBER}}|10| {{ {{#var:options_namespace}}/initOptions}} }}<!-- autoload -->{{#ifeq:{{SUBPAGENAME}}|initOptions|| This template supports options through {{tl|options}} template. All valid options are listed below, see {{tl|options}} for usage and other infomation. See [[Template:{{#var:options_namespace}}/initOptions]] for the initial options setting of this template. }} <table class="wikitable"><!-- --><tr><th>Name</th><th>Alias</th><th>Initial Value</th><th>Value Mapping<ref>Values with mapping will be stored and loaded as mapped value. Other values without mapping will be stored and loaded as-is.</ref></th><th>Note</th></tr><!-- -->{{#arrayprint:optionsKeys:{{#var:options_namespace}}||@@@@|<!-- --><tr>{{#var:optionsDoc:@@@@}}</td><td>{{{note_@@@@|}}}</td></tr><!-- -->}}</table><!-- -->{{reflist}}<!-- --></includeonly><noinclude> Used to auto gen document for options. See {{tl|options}} for more info. See [[Template:Chance/doc]] for example. {{language info|en=Template:Options/autodoc}} </noinclude> 50851aea3140d88c92e4dc64b71803a242b76603 Achievements 0 56 435 359 2024-02-07T15:26:11Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) {{Infocard}} <tabber> |-|Danger Zone= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| 3-Pointer | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Shoot Hoops on Danger Zone | style="width: 50%; text-align:center;"| 6.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| El Capitan | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Reach the Top of Danger Zone | style="width: 50%; text-align:center;"| 8.3% |} <!-- ==================================================================================================================================== --> |-|Race Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Best View In Town | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land on the Lighthouse on Race Island | style="width: 50%; text-align:center;"| 3.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Hot Air | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Crash into the blimp on Race Island | style="width: 50%; text-align:center;"| 7.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Island Hopper | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land in all the floating Islands <br> above Race Island in one session | style="width: 50%; text-align:center;"| 1.4% |} <!-- ==================================================================================================================================== --> |-|Treasure Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Man In Black | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Fly through all the rings of <br> fire in Treasure Island in one session | style="width: 50%; text-align:center;"| 4.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Moby Dick | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Bumb into the whales in Treasure Island | style="width: 50%; text-align:center;"| 3.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Monster! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Drive over 8 chickens on <br> Treasure Island in one session | style="width: 50%; text-align:center;"| 10.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Pay your respect | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Visit the monument on Treasure Island | style="width: 50%; text-align:center;"| 9.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px| Problem Solver | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Complete all the ball <br> puzzles on Treasure Island | style="width: 50%; text-align:center;"| 2.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Treehugger | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Hug the Tree on the Northeastern <br> Island in Treasure Island | style="width: 50%; text-align:center;"| 1.6% |} <!-- ==================================================================================================================================== --> |-|Rally Mode= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Gold Rush | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Downhill Rush | style="width: 50%; text-align:center;"| 6.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Slide to Win | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Get gold on Sunny Slide | style="width: 50%; text-align:center;"| 2.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| To Fly or Not To Fly | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Cliff Land | style="width: 50%; text-align:center;"| 2.4% |} <!-- ==================================================================================================================================== --> |-|Stranded in Space= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Bring Marshmallows! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Enter the volcano | style="width: 50%; text-align:center;"| 15.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Power Core Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Find 15 Power Cores in Stranded in Space | style="width: 50%; text-align:center;"| 20.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Ready For Takeoff | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Rebuild your spaceship | style="width: 50%; text-align:center;"| 9.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| So attractive! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Pick up a piece of Salvage <br> with the Tractor Beam | style="width: 50%; text-align:center;"| 35.8% |} <!-- ==================================================================================================================================== --> |-|Others= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Car Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Download and load in a <br> vehicle from the Workshop | style="width: 50%; text-align:center;"| 51.9% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Leonardo da Vinci | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Stay airborne in a zero <br> Power Core vehicle for 60 seconds | style="width: 50%; text-align:center;"| 5.6% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sharing is Caring | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Upload a vehicle to the Workshop | style="width: 50%; text-align:center;"| 10.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sonic Boom | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Break the sound barrier | style="width: 50%; text-align:center;"| 29.2% |} </tabber> a14f1ec6b45390d759ec6001dbfd19c337776ec9 436 435 2024-02-07T15:26:35Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) <tabber> |-|Danger Zone= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| 3-Pointer | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Shoot Hoops on Danger Zone | style="width: 50%; text-align:center;"| 6.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| El Capitan | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Reach the Top of Danger Zone | style="width: 50%; text-align:center;"| 8.3% |} <!-- ==================================================================================================================================== --> |-|Race Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Best View In Town | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land on the Lighthouse on Race Island | style="width: 50%; text-align:center;"| 3.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Hot Air | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Crash into the blimp on Race Island | style="width: 50%; text-align:center;"| 7.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Island Hopper | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Land in all the floating Islands <br> above Race Island in one session | style="width: 50%; text-align:center;"| 1.4% |} <!-- ==================================================================================================================================== --> |-|Treasure Island= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Man In Black | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Fly through all the rings of <br> fire in Treasure Island in one session | style="width: 50%; text-align:center;"| 4.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Moby Dick | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Bumb into the whales in Treasure Island | style="width: 50%; text-align:center;"| 3.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Monster! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Drive over 8 chickens on <br> Treasure Island in one session | style="width: 50%; text-align:center;"| 10.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Pay your respect | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Visit the monument on Treasure Island | style="width: 50%; text-align:center;"| 9.5% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px| Problem Solver | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Complete all the ball <br> puzzles on Treasure Island | style="width: 50%; text-align:center;"| 2.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Treehugger | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Hug the Tree on the Northeastern <br> Island in Treasure Island | style="width: 50%; text-align:center;"| 1.6% |} <!-- ==================================================================================================================================== --> |-|Rally Mode= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Gold Rush | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Downhill Rush | style="width: 50%; text-align:center;"| 6.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Slide to Win | rowspan="2" | image |- | style="width: 50%; text-align:center;"|Get gold on Sunny Slide | style="width: 50%; text-align:center;"| 2.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| To Fly or Not To Fly | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Get gold on Cliff Land | style="width: 50%; text-align:center;"| 2.4% |} <!-- ==================================================================================================================================== --> |-|Stranded in Space= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Bring Marshmallows! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Enter the volcano | style="width: 50%; text-align:center;"| 15.4% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Power Core Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Find 15 Power Cores in Stranded in Space | style="width: 50%; text-align:center;"| 20.1% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Ready For Takeoff | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Rebuild your spaceship | style="width: 50%; text-align:center;"| 9.2% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| So attractive! | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Pick up a piece of Salvage <br> with the Tractor Beam | style="width: 50%; text-align:center;"| 35.8% |} <!-- ==================================================================================================================================== --> |-|Others= {| class="wikitable" style="margin-left: auto; margin-right: auto; width: 70%; border-style: solid; border-width: 0px" ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Car Collector | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Download and load in a <br> vehicle from the Workshop | style="width: 50%; text-align:center;"| 51.9% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Leonardo da Vinci | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Stay airborne in a zero <br> Power Core vehicle for 60 seconds | style="width: 50%; text-align:center;"| 5.6% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sharing is Caring | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Upload a vehicle to the Workshop | style="width: 50%; text-align:center;"| 10.0% |- | colspan="3" style="border-style: solid; border-width: 0px"| |- ! colspan="2" style="border-style: solid; border-width: 1px 1px 3px 1px"| Sonic Boom | rowspan="2" | image |- | style="width: 50%; text-align:center;"| Break the sound barrier | style="width: 50%; text-align:center;"| 29.2% |} </tabber> ea4a84c9ad143e33a12444b19579e293eb5f22e4 MediaWiki:Theme-definitions 8 93 438 2024-02-07T16:11:11Z Lukkram 396381 Created page with "* none[default|bundled] * dark" wikitext text/x-wiki * none[default|bundled] * dark dde6dd11b302e132ea01e5df2519d607d7924ed1 439 438 2024-02-17T04:24:32Z Westgrass 40 wikitext text/x-wiki * light[default|bundled] * dark[bundled] 22479ddebe42bf767cd3b0aafe871ac8c420a8ee Main Page 0 1 440 360 2024-02-17T04:25:26Z Westgrass 40 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 025c976aaef773d73e39c644832de4b98194a013 MediaWiki:Pagetitle 8 94 441 2024-02-17T04:28:44Z Westgrass 40 init wikitext text/x-wiki $1 - Official {{SITENAME}} 57033220011e307a12da880f313762b28dee374e MediaWiki:Pagetitle-view-mainpage 8 95 442 2024-02-17T04:28:53Z Westgrass 40 init wikitext text/x-wiki Official {{SITENAME}} c2d59ee45ea02d10b205a5d70873df285c4a3f46 MediaWiki:Copyright 8 5 443 5 2024-02-17T04:29:00Z Westgrass 40 init wikitext text/x-wiki <img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted. 5e5a9edc3c58c2677e73e18e82ecf4c649528172 Template:License 10 96 444 2024-02-17T04:29:23Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 445 444 2024-02-17T04:29:27Z Westgrass 40 Protected "[[Template:License]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 Template:License/CC-BY 10 97 446 2024-02-17T04:29:34Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f 447 446 2024-02-17T04:29:40Z Westgrass 40 Protected "[[Template:License/CC-BY]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f Template:License/CC-BY-NC 10 98 448 2024-02-17T04:29:53Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 449 448 2024-02-17T04:29:58Z Westgrass 40 Protected "[[Template:License/CC-BY-NC]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 Template:License/CC-BY-NC-ND 10 99 450 2024-02-17T04:30:05Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 451 450 2024-02-17T04:30:10Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 Template:License/CC-BY-NC-SA 10 100 452 2024-02-17T04:30:16Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 453 452 2024-02-17T04:30:20Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 Template:License/CC-BY-ND 10 101 454 2024-02-17T04:30:26Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 455 454 2024-02-17T04:30:29Z Westgrass 40 Protected "[[Template:License/CC-BY-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 Template:License/CC-BY-SA 10 102 456 2024-02-17T04:30:35Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 457 456 2024-02-17T04:30:40Z Westgrass 40 Protected "[[Template:License/CC-BY-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 Template:License/CC-PD 10 103 458 2024-02-17T04:30:46Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 459 458 2024-02-17T04:30:50Z Westgrass 40 Protected "[[Template:License/CC-PD]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 Template:License/CC-SRR 10 104 460 2024-02-17T04:30:56Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 461 460 2024-02-17T04:31:00Z Westgrass 40 Protected "[[Template:License/CC-SRR]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 Template:License/CC0 10 105 462 2024-02-17T04:31:07Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f 463 462 2024-02-17T04:31:11Z Westgrass 40 Protected "[[Template:License/CC0]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f Template:License/Fairuse 10 106 464 2024-02-17T04:31:17Z Westgrass 40 init wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 465 464 2024-02-17T04:31:21Z Westgrass 40 Protected "[[Template:License/Fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 Template:License/Flashbulb 10 107 466 2024-02-17T04:31:26Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by Flashbulb and/or its licensors, and is licensed under the Flashbulb [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to Flashbulb and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cda59a53e6a8989970a38ed0728e8f0059293da8 467 466 2024-02-17T04:31:30Z Westgrass 40 Protected "[[Template:License/Flashbulb]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by Flashbulb and/or its licensors, and is licensed under the Flashbulb [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to Flashbulb and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cda59a53e6a8989970a38ed0728e8f0059293da8 Template:License/doc 10 108 468 2024-02-17T04:31:37Z Westgrass 40 init wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|Flashbulb}}</nowiki> {{License|Flashbulb}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|Flashbulb|source=https://wiki.gg/}}</nowiki> {{License|Flashbulb|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> ee8aa295b0220bb9b60fe2081025371b95b94f91 469 468 2024-02-17T04:31:43Z Westgrass 40 Protected "[[Template:License/doc]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|Flashbulb}}</nowiki> {{License|Flashbulb}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|Flashbulb|source=https://wiki.gg/}}</nowiki> {{License|Flashbulb|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> ee8aa295b0220bb9b60fe2081025371b95b94f91 Template:License/fairuse 10 109 470 2024-02-17T04:31:51Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c 471 470 2024-02-17T04:31:56Z Westgrass 40 Protected "[[Template:License/fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c Template:License/nolicense 10 110 472 2024-02-17T04:32:02Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 473 472 2024-02-17T04:32:09Z Westgrass 40 Protected "[[Template:License/nolicense]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 Category:Templates 14 111 474 2024-02-17T04:32:17Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Trailmakers Wiki 14 112 475 2024-02-17T04:32:25Z Westgrass 40 init wikitext text/x-wiki This is the root category for everything on The {{SITENAME}}. eaccd6ba79f8609ec20cb92a31a9468a40c7bfae MediaWiki:Mainpage 8 113 476 2024-02-17T04:32:32Z Westgrass 40 init wikitext text/x-wiki {{SITENAME}} 3879910e8b355a24373fd09ccc909145b2639907 Trailmakers Wiki 0 45 477 315 2024-02-17T04:32:43Z Westgrass 40 Protected "[[Trailmakers Wiki]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <!-- TO EDIT MAIN PAGE CONTENT, see "Templates used on this page" below and edit: * {{SITENAME}}/Top section * {{SITENAME}}/Flex section * {{SITENAME}}/Bottom section This is a basic responsive front page design that adapts to the available width of the browser by rearranging the sections themselves as well as content within each section. When narrow, the three sections line up vertically in a single column. When wide enough, the middle (flex) section is pulled out to become a right column. Much of the layout and appearance is determined through styles defined in these pages: * MediaWiki:Common.css (for the desktop view) * MediaWiki:Mobile.css (for the mobile view) --> <div id="fp-2column" class="fp-container"> <div id="fp-top" class="fp-section"> {{:{{SITENAME}}/Top section}} </div> <div id="fp-flex" class="fp-section"> {{:{{SITENAME}}/Flex section}} </div> <div id="fp-bottom" class="fp-section"> {{:{{SITENAME}}/Bottom section}} </div> </div> <div class="nomobile" style="text-align: right; margin-right: 10px;"><small>Main page sections: [[{{SITENAME}}/Top section|Top]] &#183; [[{{SITENAME}}/Flex section|Flex]] &#183; [[{{SITENAME}}/Bottom section|Bottom]]. Changes for the main page can be proposed [[Talk:{{SITENAME}}|here]]. </small></div> <metadesc>The official community maintained wiki resource for Trailmakers!</metadesc> __NOTITLE__ [[Category:{{SITENAME}}| ]] 63dbdad7171c7cd3e29d7b777a7bb8a15d80f127 MediaWiki:Common.js 8 114 478 2024-02-17T04:32:48Z Westgrass 40 init javascript text/javascript mw.loader.getScript( 'https://commons.wiki.gg/index.php?title=MediaWiki:Common-base.js&action=raw&ctype=text/javascript' ).then(function(){ //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /*end of mw.loader.getScript().then callback*/ }); $( document ).ready(function(){ $('<div class="menu-toggle"/>').insertAfter($('#p-logo')).on("click", function(event){ event.stopPropagation(); $(this).toggleClass('expanded'); }); }); f3480062877909e90f6ce04e0165722beccf949a Template:InfoboxGame 10 115 479 2024-02-17T04:32:55Z Westgrass 40 init wikitext text/x-wiki <includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platform</label> </data> </infobox></includeonly><noinclude> Usage:<pre> {{InfoboxGame |title= |image= |caption= |developer= |publisher= |release= |platform= }} </pre> [[Category:Infobox templates]]</noinclude> ce818e81bba1bab2e1192621b9a8fd4fc7ebe332 Category:Infobox templates 14 116 480 2024-02-17T04:33:02Z Westgrass 40 init wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Template:Stub 10 9 481 43 2024-02-17T04:33:09Z Westgrass 40 init wikitext text/x-wiki <div class="hat-note" style="border: 1px solid #ff6666;padding: 0.5em;margin-bottom:1em">[[File:Edit-clear.svg|24px|link=]] This content is a [[:Category:Stubs|stub]]. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it]. </div> <includeonly>{{{category|[[Category:Stubs]]}}}</includeonly><noinclude> == Usage == <nowiki>{{stub}}</nowiki> </noinclude> 0fb3c45d8b6db670390d02f9e2689d7a93caa423 Category:Stubs 14 117 482 2024-02-17T04:33:15Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 File:Site-favicon.ico 6 118 483 2024-02-17T04:33:21Z Westgrass 40 init wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 484 483 2024-02-17T04:33:26Z Westgrass 40 Protected "[[File:Site-favicon.ico]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 507 484 2024-02-17T04:39:54Z Westgrass 40 Westgrass uploaded [[File:Site-favicon.ico]] wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 File:Site-logo.png 6 119 485 2024-02-17T04:33:32Z Westgrass 40 init wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 486 485 2024-02-17T04:33:52Z Westgrass 40 Protected "[[File:Site-logo.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 509 486 2024-02-17T04:45:24Z Westgrass 40 Westgrass uploaded [[File:Site-logo.png]] wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 File:Site-background.jpg 6 120 487 2024-02-17T04:34:01Z Westgrass 40 init wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 488 487 2024-02-17T04:34:07Z Westgrass 40 Protected "[[File:Site-background.jpg]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 512 488 2024-02-17T06:36:01Z Westgrass 40 Westgrass uploaded [[File:Site-background.jpg]] wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 File:Keyart.jpg 6 121 489 2024-02-17T04:34:11Z Westgrass 40 init wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 Category:Images 14 122 490 2024-02-17T04:34:17Z Westgrass 40 init wikitext text/x-wiki [[Category:Files]] 1f84c024fe622583c7d1508e23a1789fec0b4def Category:Files 14 123 491 2024-02-17T04:34:23Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Trailmakers 0 44 492 310 2024-02-17T04:34:29Z Westgrass 40 init wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} '''Trailmakers''' is a game. [[Category:Trailmakers| ]] b97604990f06cf87b8db2f3c719961e3d04fa43a Category:Trailmakers 14 124 493 2024-02-17T04:34:38Z Westgrass 40 init wikitext text/x-wiki [[category:{{SITENAME}}]] 442656d773d97baea47f62cc8dcee3fda0f995ed Category:Screenshots 14 125 494 2024-02-17T04:34:46Z Westgrass 40 init wikitext text/x-wiki [[Category:Images]] 8820b63e35aedd9d2666fe40b965d4e91ce0a106 MediaWiki:Gadgets-definition 8 126 495 2024-02-17T04:34:51Z Westgrass 40 init wikitext text/x-wiki == default-gadgets == * previewTab[ResourceLoader|default|dependencies=mediawiki.api|type=general]|previewTab.js|previewTab.css * linkPurge[ResourceLoader|default|type=general]|linkPurge.js * UserProfile[ResourceLoader|default|dependencies=mediawiki.api|rights=edit]|UserProfile.js|UserProfile.css * multiupload[ResourceLoader|default]|multiupload.js 3186863480deb150cde83ce3d2d146cd5aa3b2bb MediaWiki:Gadget-section-default-gadgets 8 127 496 2024-02-17T04:34:55Z Westgrass 40 init wikitext text/x-wiki Default Gadgets 6fc7468a16c085a721b999b2fb8835a90bdc4b5f MediaWiki:Gadget-previewTab 8 128 497 2024-02-17T04:35:02Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Re-adds the Wikitext/Preview/Changes tabs to editor that were removed in the MediaWiki 1.31 upgrade. 74a761f21ba4349a91d6e2cc5b66a80dec16cd93 MediaWiki:Gadget-previewTab.js 8 129 498 2024-02-17T04:35:06Z Westgrass 40 init javascript text/javascript /* v1.2, By Westgrass https://terraria.wiki.gg/User:Westgrass */ $(document).ready(function (){ if(((mw.config.get('wgAction') != 'edit')&&(mw.config.get('wgAction') != 'submit'))||(mw.config.get('wgPageContentModel')) != 'wikitext'){ return; } //localization. var $text_wikitext = { 'en': 'Wikitext', 'de': 'Wikitext', 'fr': 'Wikitexte', 'pt': 'Wikitexto', 'pt-br': 'Wikitexto', 'zh': '维基文本', 'zh-cn': '维基文本' } var $text_preview = { 'en': 'Preview', 'de': 'Vorschau', 'fr': 'Prévisualiser', 'pt': 'Antever', 'pt-br': 'Pré-visualizar', 'zh': '预览', 'zh-cn': '预览' } var $text_changes = { 'en': 'Changes', 'de': 'Änderungen', 'fr': 'Modifications', 'pt': 'Alteraçãos', 'pt-br': 'Alterações', 'zh': '差异', 'zh-cn': '差异' } var $text_nochanges = { 'en': 'No change', 'de': 'Keine Änderungen', 'fr': 'Aucune modification', 'pt': 'Nenhuma alteração', 'pt-br': 'Nenhuma alteração', 'zh': '无差异', 'zh-cn': '无差异' } $('#editform').before('<div id="wiki-editor-tabs"><div class="wikitext">'+($text_wikitext[mw.config.get( 'wgUserLanguage' )]||'Wikitext')+'</div><div class="preview">'+($text_preview[mw.config.get( 'wgUserLanguage' )]||'Preview')+'</div><div class="changes">'+($text_changes[mw.config.get( 'wgUserLanguage' )]||'Changes')+'</div></div>'); var $wikitext_button = $('#wiki-editor-tabs .wikitext').addClass('current'); var $preview_button = $('#wiki-editor-tabs .preview'); var $changes_button = $('#wiki-editor-tabs .changes'); $('#editform').before('<div id="wiki-editor-tabs-preview"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div><div id="wiki-editor-tabs-changes"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div>'); var $preview_loading = $('#wiki-editor-tabs-preview > div.sk-fading-circle').first(); var $preview_content = $('#wiki-editor-tabs-preview > div.contents').first(); var $changes_loading = $('#wiki-editor-tabs-changes > div.sk-fading-circle').first(); var $changes_content = $('#wiki-editor-tabs-changes > div.contents').first(); var $preview_api = new mediaWiki.Api(); var $changes_api = new mediaWiki.Api(); mw.loader.using( 'mediawiki.diff.styles' ); $wikitext_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $('.wikiEditor-ui').css('display', 'block'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'none'); $wikitext_button.addClass('current'); $preview_button.removeClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); }); $preview_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.addClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'block').outerHeight($editor.outerHeight()); $('#wiki-editor-tabs-changes').css('display', 'none'); var wikitext = $('#wpTextbox1').val(); $preview_api.post( { formatversion: 2, action: 'parse', title: mw.config.get( 'wgPageName' ), text: wikitext, pst: '', prop: 'text|modules|jsconfigvars', preview: true, disableeditsection: true, useskin: mw.config.get( 'skin' ), uselang: mw.config.get( 'wgUserLanguage' ) } ).done( function ( data ) { var loadmodules, $content; if ( !data.parse || !data.parse.text ) { return; } if ( data.parse.jsconfigvars ) { mw.config.set( data.parse.jsconfigvars ); } loadmodules = data.parse.modules.concat( data.parse.modulescripts, data.parse.modulestyles ); mw.loader.load( loadmodules ); $content = $preview_content .detach() .html( data.parse.text ); $content.append( '<div class="visualClear"></div>' ) .find( 'a:not([href^="#"])' ) .click( false ); $preview_loading.css('display', 'none'); $('#wiki-editor-tabs-preview').append( $content ); } ); }); $changes_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.removeClass('current'); $changes_button.addClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty().html( '<table class="diff"><col class="diff-marker"/><col class="diff-content"/>' + '<col class="diff-marker"/><col class="diff-content"/><tbody/></table>' ); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'block').outerHeight($editor.outerHeight()); mw.loader.using( 'mediawiki.diff.styles' ); var wikitext = $('#wpTextbox1').val(); var section = $( '[name="wpSection"]' ).val(); var postdata = { formatversion: 2, action: 'query', prop: 'revisions', titles: mw.config.get( 'wgPageName' ), rvdifftotext: wikitext, rvdifftotextpst: true, rvprop: '', rvsection: section === '' ? undefined : section }; $changes_api.post(postdata).done( function ( postResult ) { var diff; try { diff = postResult.query.pages[ 0 ] .revisions[ 0 ].diff.body; if (diff){ $changes_content.find( 'table.diff tbody' ) .html( diff ) .append( '<div class="visualClear"></div>' ); } else{ $changes_content.html( '<p style="text-align:center; font-style: italic;" class="note-text">('+($text_nochanges[mw.config.get( 'wgUserLanguage' )]||'No change')+')</p>' ) .append( '<div class="visualClear"></div>' ); } $changes_loading.css('display', 'none'); } catch ( e ) { // "data.blah is undefined" error, ignore } } ); }); }); d501df8885ff0d8741111b92c4090cd019961e93 MediaWiki:Gadget-linkPurge 8 130 499 2024-02-17T04:35:24Z Westgrass 40 init wikitext text/x-wiki Purge Link: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Adds a "Purge" link to the top of each page. When clicked, the server cache of the current page is cleared and refreshed. 4a25a321a8f17160dc4dafee99f56d7ba3ae4333 MediaWiki:Gadget-linkPurge.js 8 131 500 2024-02-17T04:35:29Z Westgrass 40 init javascript text/javascript var l10n = (function(){ var $text = { 'buttonlabel': { 'en': 'Purge', 'de': 'Aktualisieren', 'fr': 'Purger', 'ru': 'Обновить', 'pt': 'Actualizar', 'pt-br': 'Actualizar', 'zh': '刷新缓存' }, 'hovertext': { 'en': 'Purge the server cache for this page', 'de': 'Den Server-Cache dieser Seite löschen', 'fr': 'Purge le cache du serveur de cette page', 'ru': 'Очистить кэш сервера на этой странице', 'pt': 'Limpe o cache do servidor para esta página', 'pt-br': 'Limpe o cache do servidor para esta página', 'zh': '刷新此页面的服务器缓存' } } var $lang = mw.config.get( 'wgUserLanguage' ) || 'en'; return function(key){ return $text[key] && ($text[key][$lang] || $text[key]['en']) || ''; } })(); $(document).ready(function(){ var url = new URL(window.location.href); url.searchParams.set('action', 'purge'); mw.util.addPortletLink('p-cactions', url.href, l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1'); }); 0f4d94767dd91f6b4a1a4c7f532b65748091aed7 MediaWiki:Gadget-UserProfile 8 132 501 2024-02-17T04:35:33Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Add some function to user profile page. 2fb4dab0a4aba6ee1256cb3dda11643f892e18c0 MediaWiki:Gadget-UserProfile.js 8 133 502 2024-02-17T04:35:36Z Westgrass 40 init javascript text/javascript mw.loader.using( [ 'mediawiki.api' ] ).done( function () { var username = mw.config.get('wgRelevantUserName'); var lang = mw.language.bcp47(mw.config.get('wgUserLanguage')); if ( username ) { const allUsergroupsOrdered = []; const dateOptions = { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", timeZone: "UTC", timeZoneName: "short" }; var api = new mw.Api(); api.get( { action: 'query', list: 'users', ususers: username, usprop: [ 'groups', 'editcount', 'registration', 'blockinfo' ] } ).done( function(data) { var user = data.query.users[0]; user.groups.splice(user.groups.indexOf('*'), 1); var groupList = user.groups.map( function(group) { var grouppage = '{{MediaWiki:grouppage-'+group+'}}'; return [ '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'}}]] | {{int:group-'+group+'}} }}', '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'-member|'+username+'}}]] | {{int:group-'+group+'-member|'+username+'}} }}' ]; } ).reduce( function(prev, cur) { prev[0].push(cur[0]); prev[1].push(cur[1]); return prev; }, [[], []] ); var text = '<div class="horse-userprofile-info">'; text += '\n\n<span>{{int:prefs-memberingroups|'+user.groups.length+'|'+username+'}}</span>\t<span>{{int:prefs-memberingroups-type|'+mw.language.listToText(groupList[0])+'|'+mw.language.listToText(groupList[1])+'}}</span>'; text += '\n\n<span>{{int:prefs-edits}}</span>\t<span>[[Special:Contribs/'+username+'|'+mw.language.convertNumber(user.editcount)+']]</span>'; text += '\n\n<span>{{int:prefs-registration}}</span>\t<span>'+mw.language.convertNumber(new Date(user.registration).toLocaleString(lang, dateOptions))+'</span>'; text += '\n\n</div>'; if ( user.blockid && mw.config.get('wgArticleId') !== 0 ) { var blockDate = new Date(user.blockedtimestamp); var blockexpiry = '{{int:infiniteblock}}'; if ( !['infinite', 'indefinite', 'infinity', 'never'].includes(user.blockexpiry) ) { var expiry = new Date(user.blockexpiry.replace( /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2,3})/, '$1-$2-$3T$4:$5:$6Z' )); var duration = expiry - blockDate; var blockDuration = []; var factor = 1000; if ( duration % factor === 0 ) blockDuration = ['duration-seconds', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-minutes', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-hours', Math.floor(duration / factor)]; factor *= 24; if ( duration % factor === 0 ) blockDuration = ['duration-days', Math.floor(duration / factor)]; if ( duration % (factor*7) === 0 ) blockDuration = ['duration-weeks', Math.floor(duration / (factor*7))]; if ( duration % (factor*30) === 0 ) blockDuration = ['months', Math.floor(duration / (factor*30))]; factor *= 365; if ( duration % factor === 0 ) blockDuration = ['duration-years', Math.floor(duration / factor)]; if ( duration % (factor*10) === 0 ) blockDuration = ['duration-decades', Math.floor(duration / (factor*10))]; if ( duration % (factor*100) === 0 ) blockDuration = ['duration-centuries', Math.floor(duration / (factor*100))]; if ( duration % (factor*1000) === 0 ) blockDuration = ['duration-millennia', Math.floor(duration / (factor*1000))]; if ( blockDuration.length < 2 || blockDuration[1] > 1000 ) blockexpiry = mw.language.convertNumber(expiry.toLocaleString(lang, dateOptions)); else blockexpiry = '{{int:'+blockDuration.join('|')+'}}'; } text += '<div class="horse-userprofile-block mw-warning-with-logexcerpt"><div>\n{{int:blocked-notice-logextract|'+username+'}}\n'; text += '* '+mw.language.convertNumber(blockDate.toLocaleString(lang, dateOptions))+' {{int:logentry-block-block|[[User:'+user.blockedby+'|'+user.blockedby+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+user.blockedby+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+user.blockedby+'|{{int:contribslink}}]]</span></span>|'+user.blockedby+'|[[User:'+username+'|'+username+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+username+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+username+'|{{int:contribslink}}]]</span></span>|'+username+'|'+blockexpiry+'|}} <span class="comment">{{int:parentheses|'+user.blockreason+'}}</span></div></div>'; } api.parse( text, { disablelimitreport: true, wrapoutputclass: 'horse-userprofile mw-message-box mw-content-'+$('#contentSub').attr('dir'), uselang: mw.config.get('wgUserLanguage') } ).done( function(parsedText) { $('#contentSub').append(parsedText.replace( /\u29FCgroup-([^\u29FC\u29FD]+?)(?:-member)?\u29FD/g, '$1' )); } ); } ); } } ); ce7d71d15f0855c5ffc2a2aead36e99da7cd64e2 MediaWiki:Gadget-UserProfile.css 8 134 503 2024-02-17T04:35:41Z Westgrass 40 init css text/css #contentSub > * + .horse-userprofile { margin-top: 1em; } .horse-userprofile { font-size: var(--font-size); color: var(--theme-text-color); padding: 6px 12px; } .horse-userprofile-info span:first-of-type { font-weight: bold; } 57f9280a5451e127405bcc5b42272996a2bf94b8 MediaWiki:Gadget-multiupload 8 135 504 2024-02-17T04:35:45Z Westgrass 40 init wikitext text/x-wiki Allows multiple file upload through [[Special:Upload]] c18d8757cec3234759babf2850b02905a6a4bdaa MediaWiki:Gadget-multiupload.js 8 136 505 2024-02-17T04:35:50Z Westgrass 40 init javascript text/javascript mw.loader.using(['site']).then(function() { i18n = { multiupload: "Upload multiple files:", yes: "Yes", no: "No", sourcefiles: "Source files:", uploadfiles: "Upload files", nofiles: "Please select some files first.", nolicense: "Please select a valid license first.", summary: "Summary", license: "License", uploading: "Uploading files...", uploaded: "Uploaded:", failed: "Failed:", done: "Done." }; if (mw.config.get("wgCanonicalSpecialPageName")!=="Upload") return; $("#wpUploadFile").parent().parent().addClass("regularFileSelect"); $("tr.regularFileSelect").before('<tr><td class="mw-label">'+i18n.multiupload+'</td><td class="mw-input"><label><input type="radio" name="multipleFiles" value="'+i18n.yes+'" /> '+i18n.yes+'</label> &nbsp; <label><input type="radio" name="multipleFiles" value="'+i18n.no+'" checked="" /> '+i18n.no+'</label></td></tr>'); $("tr.regularFileSelect").after('<tr class="multipleFileSelect" style="display:none;"><td class="mw-label">'+i18n.sourcefiles+'</td><td class="mw-input"><input type="file" id="multiupload" multiple /></td></tr>'); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent().parent().addClass("regularFileSelect"); $("#wpIgnoreWarning").parent().parent().addClass("regularFileSelect"); $("span.mw-htmlform-submit-buttons").append('<input type="button" value="'+i18n.uploadfiles+'" class="multipleFileSelect" style="display:none;" id="multiFileSubmit" />'); $("input[name='multipleFiles']").change(function(){ if (this.value===i18n.yes) { $(".regularFileSelect").hide(); $(".multipleFileSelect").show(); } else { $(".regularFileSelect").show(); $(".multipleFileSelect").hide(); } }); $("#multiFileSubmit").click(function() { files = $("#multiupload")[0].files; if (files.length === 0) { alert(i18n.nofiles); return false; } if ($("#wpLicense option:selected").val() === "") { alert(i18n.nolicense); return false; } summary = $("#wpUploadDescription").val(); if (summary !== "") summary = "== "+i18n.summary+" ==\n"+summary; license = "== "+i18n.license+" ==\n"+$("#wpLicense option:selected").prop("title"); text = summary + "\n" + license; watch = "preferences"; if ($("#wpWatchthis").is(":checked")) watch = "watch"; else watch = "nochange"; curFile = 0; $("#firstHeading").text(i18n.uploading); $("#mw-content-text").html("<h3>"+i18n.uploaded+"</h3><ul></ul><div style='display:none;' id='multiUploadFailed'><h3>"+i18n.failed+"</h3><ul></ul></div>"); function gNF() { if(curFile>files.length) { $("#mw-content-text").append("<h3>"+i18n.done+"</h3>"); return; } if(files[curFile] === undefined) { curFile++; gNF(); return; } $.ajax({url:'/api.php',data:{action:'query',meta:'tokens',format:'json'},dataType:'json'}).done(function(data) { fd = new FormData(); fd.append("action","upload"); fd.append("token",data.query.tokens.csrftoken); fd.append("filename",files[curFile].name); fd.append("file",files[curFile]); fd.append("text",text); fd.append("watchlist",watch); fd.append("ignorewarnings",1); fd.append("format","json"); $.ajax({ url:'/api.php', method:'POST', data:fd, cache:false, contentType:false, processData:false, type:'POST' }).done(function(d){ if (d.error == undefined) { $("#mw-content-text > ul").append('<li><a href="'+d.upload.imageinfo.descriptionurl+'" target="_blank">'+d.upload.filename+'</a></li>'); } else { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); } curFile++; gNF(); }).fail(function(d) { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); curFile++; gNF(); }); }); } gNF(); }); }); bbee7e49b69c0291c720b7adb6ca3d7d45672384 MediaWiki:Common.css 8 137 506 2024-02-17T04:39:41Z Westgrass 40 Created page with "/*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre {..." css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 480px; --theme-site-logo-height: 104px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 7172cec90c8cc6b9b573f7f110b388ff676e11f7 511 506 2024-02-17T05:57:06Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.75; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 8f4c2ccd80570c750dce66d051281dc7e782d85f 513 511 2024-02-17T06:36:33Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.75; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 05dff0ace1cb22bf1f379cb28c0bb0a67453627d 514 513 2024-02-17T06:38:55Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.75; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6645343fac2a6e24195b8f78d85aeacedcb5b750 515 514 2024-02-17T06:40:12Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 76cacddf7413f1c717625751820ea4c5fd837ef4 516 515 2024-02-17T06:41:42Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.3)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 74d199b4b8f1128ad2fc5f77666d269f4e66185c 517 516 2024-02-17T06:42:08Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5fdab19b2886f2404645eb67a808e333033806de 518 517 2024-02-17T06:44:55Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: #ffd500; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0094e4; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f6b172d0934eb0d6c7e177e232d34364eb4a571b 519 518 2024-02-17T06:45:59Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: #ffd500; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 40da22bc848f3eae1c3ac305eba41cf3836d788e MediaWiki:Sidebar 8 138 508 2024-02-17T04:42:07Z Westgrass 40 Created page with " * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * Links ** https://playtrailmakers.com/ | Website ** https://store.steampowered.com/app/585420/Trailmakers/ | Steam page * SEARCH * TOOLBOX * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * Links ** https://playtrailmakers.com/ | Website ** https://store.steampowered.com/app/585420/Trailmakers/ | Steam page * SEARCH * TOOLBOX * LANGUAGES f4a6e17f7d3a73a001b0736de9c140baa65f7ff9 MediaWiki:Gadget-previewTab.css 8 139 510 2024-02-17T04:55:35Z Westgrass 40 init css text/css #wiki-editor-tabs{ z-index: 10; position: relative; clear: both; } #wiki-editor-tabs div{ background: var(--theme-page-background-color--secondary); border: 1px solid var(--theme-border-color); padding: 0.5em 1em; display: inline-block; cursor: pointer; margin-right: -1px; margin-bottom: -1px; color: var(--theme-link-color); } #wiki-editor-tabs div.current{ background: var(--theme-page-background-color); border-bottom-color: var(--theme-page-background-color); color: var(--theme-page-text-color); } #wiki-editor-tabs-preview,#wiki-editor-tabs-changes{ border: 1px solid var(--theme-border-color); padding: 1em; z-index: 1; overflow: auto; display: none; } #editform{ z-index: 1; } /* from SpinKit: http://tobiasahlin.com/spinkit/ */ .sk-fading-circle { margin: 100px auto; width: 40px; height: 40px; position: relative; } .sk-fading-circle .sk-circle { width: 100%; height: 100%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: var(--theme-page-text-color); border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } 311c19f960153e080b7e390acc9dc9a5d16d6a9e MediaWiki:Common.css 8 137 520 519 2024-02-17T06:46:26Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a8189169b9c96c593acea2569ee12e1836fb47c7 521 520 2024-02-17T06:48:33Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.85),rgba(255,255,255,0.85)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a5743495c3ee6cdfdb1f2fad190fcc5fb821f721 522 521 2024-02-17T06:50:05Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 413955e57316640551e639636094a80fe6e3b489 523 522 2024-02-17T06:52:18Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #ffd500; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 2px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d0f98d96a32187da0af7be51ccab48944b120ad6 524 523 2024-02-17T06:54:22Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgb(255,128,0); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 2px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 305ef3607d2a95af5ef92af2d7acb9eaaee87a5a 525 524 2024-02-17T06:55:25Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 4333c30d3c88a12a299576ac38da4920daf92585 526 525 2024-02-17T06:56:14Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 92d35e2c88faacf7e0b983210e6fe9409a5ffeaf 527 526 2024-02-17T06:57:03Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d7fb723f6b3de415badeeccd5cd2075e9bd95f04 528 527 2024-02-17T06:57:47Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 3px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d672d673614e85b7560f072c6e356dc9d5f32fb8 529 528 2024-02-17T06:58:53Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a33c9b88b4025735813aa991418e49afd64c2881 530 529 2024-02-17T06:59:40Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f9fc5fb557913ec8ad3d3cb97e6d6f06e844cebd 531 530 2024-02-17T07:00:32Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 6); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 4f1fd5a7f3d2d2daef302cc322d7a0dd535bb80f 532 531 2024-02-17T07:01:36Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #fff; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 6); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f8c9081ae8cb57b722d36ca190955c0d6a7f4c11 533 532 2024-02-17T07:03:21Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 6); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 4a388947f53eb072c2a0cc150094586f45c3faa8 534 533 2024-02-17T07:04:27Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 6); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 115fe8953b9e944aaf10d0766dbb70d0c70085fa 535 534 2024-02-17T07:05:32Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 6); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } fc607a31d76bfb1efda238e3d2d88fb77f2ef7d3 536 535 2024-02-17T07:07:42Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-border-bottom-width: 0; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6916bcfe7388ff9f37338897baee98971cd72137 537 536 2024-02-17T07:08:48Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a6848ce2b7a563cfe9c4ed43c14ee57b79d347e1 538 537 2024-02-17T07:09:34Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c0ac91d6bb69cc3856f367b345c2b18767aac276 539 538 2024-02-17T07:10:53Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 91d25dd2849bf9d122d3398e5348ebc3f73b4cd1 540 539 2024-02-17T07:12:18Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5029a1c5c80862af17d59ce8fa53b98f7c91b6f9 541 540 2024-02-17T07:15:24Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); background: rgba(15, 15, 15, 0.8); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } efd472c92d0eb1b5b487a393f251dd4403f62228 542 541 2024-02-17T07:17:14Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 0; --theme-gap: 0; --theme-background: rgba(15,15,15,.8); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 0242befac60fe7ffcbba0e69af9eaefdd8b882a1 543 542 2024-02-17T07:17:58Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 0; --theme-gap: 0; --theme-background: rgba(15,15,15,.8); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 898fa094f18f4529fedd7dabd3cae2283d1e248d 544 543 2024-02-17T07:19:52Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 0; --theme-gap: 0; --theme-background: rgba(15,15,15,.8); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 268fe450253a74115b5438530a921da17053407f 545 544 2024-02-17T07:24:22Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 0; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15,15,15,.8); --theme-heading-color: #ffd500; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 677cfb2d6befc77a76098323ede5423373e04678 546 545 2024-02-17T07:25:22Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15,15,15,.8); --theme-heading-color: #ffd500; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f9a7e7b5aa1d4349ea6dc4ea3a41f0eb3451faf3 547 546 2024-02-17T07:27:00Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 520f643d42539ddf9c5cc0acc11265afcfa2e26f 548 547 2024-02-17T07:28:24Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } ae8a6c55afcf80ca23c49440d2030934ea175d9c 549 548 2024-02-17T07:30:01Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d4577d96cf31b526b18a0b008f7a680d3ab15c21 550 549 2024-02-17T07:31:10Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.75; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 8cd15da7afd47ebc82b75099091817686df611e9 551 550 2024-02-17T07:31:39Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.25; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } e4f4abc67758a6fd919e1067c61eaef3c0e65c7b 552 551 2024-02-17T07:32:57Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } cbae874327aa57fd9dc5187cb763a71331cca68c 553 552 2024-02-17T07:33:53Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5644918970192e3303468585e3aa78298b2eadf5 554 553 2024-02-17T07:34:07Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c0ec39730c5b760cd6ff48311331b8606e3b8235 555 554 2024-02-17T07:36:21Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f1ff98c3c2ae6156241316d44034b04e47e4b7cf 557 555 2024-02-17T07:40:09Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.1); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.92), rgba(20, 44, 60, 0.92)); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5bf0453401f40f9e3f68b437b40934f63692486a 558 557 2024-02-17T07:42:22Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.92), rgba(20, 44, 60, 0.92)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 61167d90950793a1d75e4c9a84f18a94a07b6f30 559 558 2024-02-17T07:43:08Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.95), rgba(20, 44, 60, 0.95)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 44f53eeebee2265115d4845f9dc9d4b3872a192d 560 559 2024-02-17T07:43:37Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 50966f7c6e0fd0574039f7cd6b73eb3d7d0225bf 569 560 2024-02-17T09:08:59Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 1em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 1em; border: 1px solid var(--theme-border-color-accent); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6f9cf25e62e788ad7122e37a2354dfe1b618e6cc File:Site-background-dark.jpg 6 140 556 2024-02-17T07:38:22Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Trailmakers Wiki 0 45 561 477 2024-02-17T08:57:29Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#desc2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] fc430989c22cfade5a0d9d49b9c00e7bf844a0d8 562 561 2024-02-17T08:58:46Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#desc2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 3339faa5977dec7a6ac30aee2737970b36c6f4f6 563 562 2024-02-17T08:59:23Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#desc2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 99594b6c5f7683d06abc331ac2aeaaf910940d82 565 563 2024-02-17T09:02:55Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --> * {{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}} * {{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}} * {{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}} * {{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}} * {{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}} * {{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}} <!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#desc2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 5bb7d4340632af8b444d645f9daaaddff4f08957 566 565 2024-02-17T09:04:28Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#desc2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 99594b6c5f7683d06abc331ac2aeaaf910940d82 568 566 2024-02-17T09:06:33Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --><div class="box images"><!-- --><h2>Featured images</h2><!-- -->{{Featured images}}<!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 38fb330c523f49570f8934d5e1fd767d8dac9b8e File:Keyart.jpg 6 121 564 489 2024-02-17T09:01:44Z Westgrass 40 Westgrass uploaded [[File:Keyart.jpg]] wikitext text/x-wiki {{license|Flashbulb}} [[Category:Images]] b9a41d0570a894cfda7d1a1540f64e4989252724 MediaWiki:Theme-definitions 8 93 567 439 2024-02-17T09:04:49Z Westgrass 40 wikitext text/x-wiki * light[bundled] * dark[default|bundled] da1d3bf171c56977dc07c3d350848a3f893e687c MediaWiki:Common.js 8 114 570 478 2024-02-17T09:11:30Z Westgrass 40 javascript text/javascript mw.loader.getScript( 'https://commons.wiki.gg/index.php?title=MediaWiki:Common-base.js&action=raw&ctype=text/javascript' ).then(function(){ //////////////////////////////////////////////////////////////////////////////// /** * main page slider */ $(function(){ $('#content .slider').each(function(){ var $box = $(this); var width = $box.width(); $prev = $('<div class="prev"/>').appendTo($box); $next = $('<div class="next"/>').appendTo($box); $box = $box.find('ul').first(); var $current = $box.find('li').first(); $box.find('li').each(function(index){ var $this = $(this); $this.data('left', width*index); $this.css('left', width*index+'px'); $this.css('background-image', 'url('+$this.find('img').first().attr('src')+')'); }); var timeout; var switchTo = function($item){ $box.css('transform', 'translateX(-'+$item.data('left')+'px)'); } var goNext = function(){ clearTimeout(timeout); $current = $current.next('li'); if($current.length === 0){ $current = $box.find('li').first(); } switchTo($current); timeout = setTimeout(goNext, 5000); }; var goPrev = function(){ clearTimeout(timeout); $current = $current.prev('li'); if($current.length === 0){ $current = $box.find('li').last(); } switchTo($current); timeout = setTimeout(goNext, 5000); }; timeout = setTimeout(goNext, 5000); $prev.on('click', goPrev); $next.on('click', goNext); }); }); //////////////////////////////////////////////////////////////////////////////// /*end of mw.loader.getScript().then callback*/ }); $( document ).ready(function(){ $('<div class="menu-toggle"/>').insertAfter($('#p-logo')).on("click", function(event){ event.stopPropagation(); $(this).toggleClass('expanded'); }); }); 003ff5293c3b755ba2f51e8bb6976a9643ecfceb MediaWiki:Common.css 8 137 571 569 2024-02-17T09:12:41Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 7f211698369c3161b029bc6b42b1f8336690f4b8 Template:Featured images 10 53 572 352 2024-02-17T09:14:50Z Westgrass 40 wikitext text/x-wiki <includeonly><center><div class="slider" style="width: 600px; aspect-ratio: 8 / 5; margin:auto; --image-resize-mode: contain"><ul> <li>[[File:BUILD-e1501145530202.jpg|600px|link=]]</li> <li>[[File:DANGER-e1501145493999.jpg|600px|link=]]</li> <li>[[File:MULTIPLAYER-e1501145470328.jpg|600px|link=]]</li> <li>[[File:EXPLORE-e1501145369502.jpg|600px|link=]]</li> <li>[[File:CREATIVITY-e1501145511200.jpg|600px|link=]]</li> </ul></div></center></includeonly><noinclude>{{doc}}[[Category:Templates]]</noinclude> 860ccb6ec67b01f6b3e82cb2fb6265a0a43a3ccf 573 572 2024-02-17T09:15:32Z Westgrass 40 Undo revision 572 by [[Special:Contributions/Westgrass|Westgrass]] ([[User talk:Westgrass|talk]]) wikitext text/x-wiki <includeonly><center><slideboxlightshow halign="center" width="400" height="250"> File:BUILD-e1501145530202.jpg File:DANGER-e1501145493999.jpg File:MULTIPLAYER-e1501145470328.jpg File:EXPLORE-e1501145369502.jpg File:CREATIVITY-e1501145511200.jpg </slideboxlightshow></center></includeonly><noinclude>{{doc}}[[Category:Templates]]</noinclude> d2a941ad0eca9fc41548c58d299fa3f28e973c75 Trailmakers Wiki 0 45 574 568 2024-02-17T09:15:45Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Trailmakers|About the Game|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building|size=wide}}<!-- -->{{FP link|Biomes|size=wide}}<!-- -->{{FP link|Game Modes|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 13c24885e7846e08f09b39678b0a4fb45aed3a36 588 574 2024-02-18T11:28:48Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides & Information</h2><!-- --> *[[How to play guide for Trailmakers]] *[[Release date]] *[[System requirements]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 498363700d85adf663d10a987817317ec0dfd61a 589 588 2024-02-18T11:35:29Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides & Information</h2><!-- --> *[[Achievements]] *[[Blueprints]] *[[Building]] *[[DLC]] *[[Environment]] *[[Game Modes]] *[[Logic Circuits]] *[[Maps]] *[[Modding]] *[[Official Competitions]] *[[Shortcuts & Controls]] *[[Workshop & Galleries]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] e5b9581163dccaece30c0b6a15ecde862a20c031 590 589 2024-02-18T11:39:49Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides & Information</h2><!-- --> *[[Achievements]] *[[Blueprints]] *[[Building]] *[[DLC]] *[[Environment]] *[[Game Modes]] *[[Logic Circuits]] *[[Maps]] *[[Modding]] *[[Official Competitions]] *[[Shortcuts & Controls]] *[[Workshop & Galleries]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 498e608853a48ce2fbebed8fdaa86ba9ae490cc7 592 590 2024-02-18T11:54:18Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Accesories|size=wide}}<!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides & Information</h2><!-- --> *[[Achievements]] *[[Blueprints]] *[[Building]] *[[DLC]] *[[Environment]] *[[Game Modes]] *[[Logic Circuits]] *[[Maps]] *[[Modding]] *[[Official Competitions]] *[[Shortcuts & Controls]] *[[Workshop & Galleries]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 5fbfd7d993c6fdfe6c44eeafe9016621d4ef2b82 DLC 0 141 575 2024-02-18T11:09:25Z Lukkram 396381 Created page with "Page for DLC. Information pending" wikitext text/x-wiki Page for DLC. Information pending b8426827f473f9828467ae0f5edeb744b83888a1 Logic Circuits 0 142 576 2024-02-18T11:10:00Z Lukkram 396381 Created page with "Page for Logic Circuits. Information pending" wikitext text/x-wiki Page for Logic Circuits. Information pending 205f1c9cb563ee99a911c116f6fef13ae7d0d337 Maps 0 143 577 2024-02-18T11:10:32Z Lukkram 396381 Created page with "Page for Maps. Information pending" wikitext text/x-wiki Page for Maps. Information pending 7e9e00c6a7ec499a9e86702dc441d71b399bc925 Modding 0 144 578 2024-02-18T11:11:18Z Lukkram 396381 Created page with "Page for Modding. Information pending" wikitext text/x-wiki Page for Modding. Information pending 1354d8303ccf6007dd88ea399de300daf352f8e2 Official Competitions 0 145 579 2024-02-18T11:12:05Z Lukkram 396381 Created page with "Page for Official Competitions. Information pending" wikitext text/x-wiki Page for Official Competitions. Information pending de8e3a7bad961b0f86c518e3bd1a964f8b78047e Shortcuts & Controls 0 146 580 2024-02-18T11:12:53Z Lukkram 396381 Created page with "Page for Shortcuts & Controls. Information pending" wikitext text/x-wiki Page for Shortcuts & Controls. Information pending 9eb856bf9f7f69ee283c9479a821f14d1d5ad50c Workshop & Galleries 0 147 581 2024-02-18T11:13:47Z Lukkram 396381 Created page with "Page for Workshop & Galleries. Information pending" wikitext text/x-wiki Page for Workshop & Galleries. Information pending c951e0f8696e2489cdc110c75187b5ab0bae71c2 Artifacts 0 148 582 2024-02-18T11:16:38Z Lukkram 396381 Created page with "Page for Artifacts. Information pending" wikitext text/x-wiki Page for Artifacts. Information pending 6bce246fa40ae11cc97775f01b9141371e1bada5 Building Tools 0 149 583 2024-02-18T11:17:37Z Lukkram 396381 Created page with "Page for Building Tools . Information pending" wikitext text/x-wiki Page for Building Tools . Information pending 62fdb0ca7d67121eef53c677d5e8b4bf8da35a65 Sound Makers 0 150 584 2024-02-18T11:18:27Z Lukkram 396381 Created page with "Page for Sound Makers. Information pending" wikitext text/x-wiki Page for Sound Makers. Information pending a18c0e5fdee6d8d839a67b1db32bb712c324bad3 Weapons 0 151 585 2024-02-18T11:18:55Z Lukkram 396381 Created page with "Page for Weapons. Information pending" wikitext text/x-wiki Page for Weapons. Information pending a50a6fb369ab7b1a197d6234b7a7f980486dfeb6 Trailmakers Wiki/Top section 0 48 586 335 2024-02-18T11:25:08Z Lukkram 396381 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Blocks Tools|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div> </div><!-- END Heading A box--><noinclude>[[Category:Front page sections]]</noinclude> e6c2a67122fee4ecb33bc0fbd1857688d6bac3a9 587 586 2024-02-18T11:26:32Z Lukkram 396381 wikitext text/x-wiki <div class="fpbox" style="text-align: center;"><!-- BEGIN Welcome box--> <div class="welcome">Welcome to the Official [[File:TrailmakersLogo.png|150px|link=|Trailmakers]] Wiki!</div> <div>the ''Trailmakers'' guide written and maintained by the community.</div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]. Please feel free to contribute by creating new articles or expanding existing ones. </div><!--END Welcome box--> <div class="fpbox" style="text-align: center;"><!-- BEGIN Description box--> <div class="heading">About Trailmakers</div> <div style="text-align: left;"> [[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation. The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making. </div> </div><!--END Description box--> <div class="fpbox" id="fproles" style="text-align: center;"><!-- BEGIN Content box--> <div class="heading">Quick Links</div> <div class="fplinks"><!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div> </div><!-- END Heading A box--><noinclude>[[Category:Front page sections]]</noinclude> 922f37bc6f64abea668fc5dad44e3b0415d5ca54 Accesories 0 152 591 2024-02-18T11:53:18Z Lukkram 396381 Created page with ""Cosmetic blocks for decorating your vehicle" Info pending" wikitext text/x-wiki "Cosmetic blocks for decorating your vehicle" Info pending dc5c242c297f2e41c8048bf4d65ccefaa3397daa 593 591 2024-02-18T12:11:50Z Lukkram 396381 wikitext text/x-wiki "Cosmetic blocks for decorating your vehicle" Info pending <tabber> |-|Exhaust= "If you really don't care about the environment." |-|Details= "The devil is in the details" |-|Lights= "Blocks that can illuminate, or just get the party started." |-|Flags= "To show which country you are from - like pirate." |-|Facial Features= "Build your own head!" |-|Bumpers= "For all your Bumping needs" |-|Rims= "A wheel is not the same without 'em." |-|Soundmakers= "Make some noise y'all!" |-|Ornaments= "What really ties the vehicle together." |-|Trophies= "Show off your achievements - you've earned it!" </tabber> 6a27507dd032d138438ffc1f89751551045b4b2d Trailmakers 0 44 594 492 2024-02-18T13:00:00Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |test=Flashbulb |publisher=Flashbulb |release= |platform=PC }} '''Trailmakers''' is a game. [[Category:Trailmakers| ]] 2545251fbef4aa350e2642e2b1852e899680bd83 595 594 2024-02-18T13:00:20Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} '''Trailmakers''' is a game. [[Category:Trailmakers| ]] b97604990f06cf87b8db2f3c719961e3d04fa43a 598 595 2024-02-21T22:30:58Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{ Infocard | type = Game | name = Trailmakers | color = #ECDF18 | text = Trailmakers Infocard Test }} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} [[Category:Trailmakers| ]] 4f8c22dfe33b31a7dcca303aa538339df3fa63ba 599 598 2024-02-21T22:36:43Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{ Infocard | type = Game | name = Trailmakers | color = #335999 | text = Trailmakers Infocard Test }} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} [[Category:Trailmakers| ]] 55ea95a90f8ac6d59628dc1af059cd07743b63f9 Template:Infocard/box 10 81 596 414 2024-02-21T22:25:17Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> {{internal subtemplate}} {{category|Formatting templates}} </noinclude> e09219f74dd813531b1a8f96e047e993db60d84b 597 596 2024-02-21T22:27:13Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> {{category|Formatting templates}} </noinclude> 659ccbece6177c3762a616d0bff19b76dfd1781c 600 597 2024-02-21T22:42:00Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> </noinclude> a767d09046c83cf0fe5de2c431294b5240e059a0 603 600 2024-02-21T22:55:32Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="box {{{class|{{options/get|infocard|box-class}}}}}" style="{{{css|{{{style|{{options/get|infocard|box-css}}}}}}}}"><!-- -->{{{titlealt|{{#if:{{{title|}}}|<!-- --><div class="title" style="border-left-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color-all}}}}}}};"><!-- --><span>{{{title|}}}</span><!-- --></div><!-- -->}}}}}<!-- --><div class="content"> {{{1|}}} </div><!-- --></div><!-- --></includeonly><noinclude> {{doc}} </noinclude> c11f44340b0ad91bc7edc0582bd97afae1ae3d36 Template:( 10 66 601 380 2024-02-21T22:47:31Z Lukkram 396381 wikitext text/x-wiki {{<noinclude> </noinclude> ca8cbfc5c4521db165f09c766d3e9d56ba897a3b 604 601 2024-02-21T22:57:28Z Lukkram 396381 wikitext text/x-wiki {{<noinclude> {{doc}} </noinclude> b45dfc5611fcf520075ac5b52f0e1a5882361e49 Template:Doc 10 90 602 432 2024-02-21T22:54:58Z Lukkram 396381 wikitext text/x-wiki <includeonly>{| class="article-table" style="width:100%;" |- style="font-size:18px;" ! Template documentation follows |- | ''Note: the template above may sometimes be partially or fully invisible.'' |- | Visit [[Template:{{PAGENAMEE}}/doc]] to edit this documentation. ([[Template:Documentation|How does this work?]]) |} <div style="margin:0 1em;"> {{{{PAGENAME}}/doc}}</div></includeonly><noinclude>{{doc}}[[Category:Template documentation| ]]</noinclude> 693fc2c5bedce938cf038952928753140ca8ac6f Template:) 10 67 605 382 2024-02-21T22:59:57Z Lukkram 396381 wikitext text/x-wiki }}<noinclude> {{doc}} </noinclude> 734a6914a2e76c7b8c162480ec05b8bc3229399a Template:Bool 10 68 606 384 2024-02-21T23:04:31Z Lukkram 396381 wikitext text/x-wiki <includeonly>{{#switch:{{lc:{{{1|}}}}}|y|1|yes|true=y|#default={{#if:{{{1|}}}||{{{2|}}}}}}}</includeonly><noinclude>{{doc}} </noinclude> aef2c319e79577bb70b509c60a0f63eeab675a9d Template:Category 10 77 607 406 2024-02-21T23:07:42Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- -->{{#if:{{langList|isOnWiki|{{{lang|{{lang|}}}}}}}|<!-- -->[[Category:<!-- -->{{{1|}}}/{{{lang|{{lang|}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{{2}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- the space here is needed for blank sortkeys -->|<!-- // loading glossary for this language: -->{{#if:{{#dplvar:_cate_glossary_{{{lang|{{lang|}}}}}}}|| {{category/db-{{{lang|{{lang|}}}}}}} }}<!-- -->[[Category:<!-- -->{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{1|}}}}}}}|{{tr|{{{1|}}}|lang={{{lang|{{lang|}}}}}}}}}<!-- category name -->{{#ifeq:{{{2|-unset}}}|{{{2|unset-}}}|{{!}}{{#or:{{#dplvar:_cate_glossary-{{ucfirst:{{{2|}}}}}}}|{{tr|{{{2|}}}|lang={{{lang|{{lang|}}}}}}}}}}}<!-- category sortkey, only if set (can be blank) --> ]]<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{i18n-ready}}{{doc}} </noinclude> cd19d65f0358715701f04f91b55ddd8726adf154 Template:Color box 10 87 608 426 2024-02-21T23:09:49Z Lukkram 396381 wikitext text/x-wiki <span class="color-box" style="background:{{{1|}}}; border:1px solid {{{border|}}}; width:{{{size|{{{width|1.25em}}}}}}; height:{{{size|{{{height|1.25em}}}}}};"></span><!-- // display text: -->{{#switch:{{bool|{{{text|}}}}}-{{#if:{{{textformat|}}}|y}}-{{#if:{{{1|}}}|y}}<!-- -->|y--y=&nbsp;<code>{{{1|}}}</code><!-- only if $text is true and $textformat is blank and $1 is not blank -->|y-y-y=&nbsp;{{color box/textformat|{{{1}}}|textformat={{{textformat}}}}}<!-- only if $text is true and $textformat is not blank and $1 is not blank -->}}<!-- --><noinclude> {{lua|Color}} {{doc}} </noinclude> 01aa6a20978c0d3d8b5e083d618782f8c9ebe2d1 Template:Dotlist 10 85 609 422 2024-02-21T23:22:00Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="dotlist {{#switch:{{{bold|{{#dplvar:_dotlist_flag_bold|}}}}}|n|no=nobold}} {{{space|{{#dplvar:_dotlist_flag_space|}}}}} {{#switch:{{{dot|{{#dplvar:_dotlist_flag_dot|}}}}}|n|no=nodot}} {{#if:{{bool|{{{inline|}}}}}|inline}} {{{class|{{#dplvar:_dotlist_flag_class|}}}}}" style="{{{css|{{#dplvar:_dotlist_flag_css|}}}}};{{{style|}}}"><!-- -->{{#if:{{{title|}}}|<span class="title">{{{title|}}}</span>}}<!-- -->{{#if:{{bool|{{{paren|}}}}}|(}}<ul><!-- -->{{#fornumargs:_|v|<li>{{#var:v}}</li>}}<!-- --></ul>{{#if:{{bool|{{{paren|}}}}}|)}}<!-- --></div><!-- --></includeonly><!-- --><noinclude> {{doc}} </noinclude> 84f8f607401fb40141ff109a7a068e4ea764329b Template:Error 10 69 610 386 2024-02-21T23:26:09Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- // localization info is autoloaded from Template:Error/l10n --><span class="error" data-source="{{{from|{{{source|}}}}}}" title="{{{title|}}}">{{l10n|error|intro}}{{{1|{{{text|}}}}}}</span><!-- -->{{#if:{{bool|{{{cate|y}}}}}|<!-- // general, common error cate -->[[Category:{{l10n|error|cate}}]]<!-- // specific error cate based on the source of the error -->{{#if:{{{from|{{{source|}}}}}}|[[Category:{{l10n|error|cate_from|$from$={{{from|{{{source|}}}}}}}}]]}}<!-- // other, custom error cates -->{{#fornumargs:k|v|<!-- iterate over all unnamed parameters -->{{#ifeq:{{#var:k}}|1||<!-- skip $1 -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->{{#forargs:cate|k|v|<!-- iterate over all parameters of the format "cate<number>", including $cate -->{{#if:{{isNumber|onlypositive=y|0{{#var:k}}}}|<!-- -->{{#if:{{#var:v}}|[[Category:{{#var:v}}]]}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude> {{i18n-ready}}{{doc}} </noinclude> 5c372a233ab8fd06692a02aec5f269750eca6e02 Template:Flexbox 10 88 611 428 2024-02-21T23:28:11Z Lukkram 396381 wikitext text/x-wiki {{flexstart|{{#if:{{{inline|}}}|inline}}<!-- -->|wrap={{{wrap|}}}<!-- -->|direction={{{direction|}}}<!-- -->|justify={{{justify|}}}<!-- -->|alignitems={{{alignitems|}}}<!-- -->|alignlines={{{alignlines|}}}<!-- -->|width={{{width|}}}<!-- -->|height={{{height|}}}<!-- -->|css={{{css|{{{style|}}}}}}<!-- -->|cssclass={{{cssclass|{{{class|}}}}}}<!-- -->|id={{{id|}}}<!-- -->}}<!-- -->{{#fornumargs:_|v|{{#var:v}}}}<!-- -->{{flexend}}<noinclude> {{doc}} </noinclude> 9cb54dde305928aead28f09622ac6001970c99a7 Template:Flexend 10 79 612 410 2024-02-21T23:29:17Z Lukkram 396381 wikitext text/x-wiki <includeonly></div></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. </noinclude> e18fa7ad8f42d5e6edf27f7d628952b357a7838a Template:Flexstart 10 80 613 412 2024-02-21T23:30:03Z Lukkram 396381 wikitext text/x-wiki <includeonly><div style="<!-- ======= type: flexbox and/or flexitem ======= //parameter: {{{1}}}, 'item' for flexitem only (not a flexbox); 'inline' or 'inlinebox' for inline-flexbox; other values for flexbox -->{{#switch:{{{1|}}}<!-- -->|inlinebox|inline=display:inline-flex;<!-- -->|item=<!-- need nothing -->|#default=display:flex;<!-- -->}}<!-- ======= parameters for flexbox ======= -->{{#ifeq:{{{1}}}|item||<!-- only if $type != item //parameter: wrap, default value is 'wrap' -->{{#switch:{{{wrap|}}}<!-- -->|no|nowrap=flex-wrap:nowrap;<!-- -->|#default=flex-wrap:wrap;<!-- -->}}<!-- //paramter: direction, no need to set up default, just left blank to use css default. -->{{#switch:{{{direction|}}}<!-- -->|=<!-- Only if explicitly specified -->|row-reverse=flex-direction:row-reverse;<!-- -->|column=flex-direction:column;<!-- -->|column-reverse=flex-direction:column-reverse;<!-- -->|#default=flex-direction:row;<!-- -->}}<!-- //paramter: justify, no need to set up default, just left blank to use css default. -->{{#switch:{{{justify|}}}|<!-- -->|=<!-- Only if explicitly specified -->|left|flex-start=justify-content:flex-start;<!-- -->|right|flex-end=justify-content:flex-end;<!-- -->|justified|space-between=justify-content:space-between;<!-- -->|space-around=justify-content:space-around;<!-- -->|#default=justify-content:{{{justify|}}};<!-- -->}}<!-- //paramter: alignitems, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignitems|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-items:flex-start;<!-- -->|bottom|flex-end=align-items:flex-end;<!-- -->|middle=align-items:center;<!-- -->|#default=align-items:{{{alignitems|}}};<!-- -->}}<!-- //paramter: alignlines, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignlines|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-content:flex-start;<!-- -->|bottom|flex-end=align-content:flex-end;<!-- -->|justified|space-between=align-content:space-between;<!-- -->|#default=align-content:{{{alignlines|}}};<!-- -->}}<!-- -->}}<!-- end if $type != item ======= parameters for flexitem ======= //parameter: order -->{{#if:{{{order|}}}|<!-- -->order:{{{order|}}};<!-- -->}}<!-- //parameter: grow -->{{#if:{{{grow|}}}|<!-- -->flex-grow:{{{grow|}}};<!-- -->}}<!-- //parameter: shrink -->{{#if:{{{shrink|}}}|<!-- -->flex-shrink:{{{shrink|}}};<!-- -->}}<!-- //parameter: basis -->{{#if:{{{basis|}}}|<!-- -->flex-basis:{{{basis|}}};<!-- -->}}<!-- //paramter: alignself, no need to set up default, just left blank to use css default. -->{{#switch:{{{alignself|}}}<!-- -->|=<!-- Only if explicitly specified -->|top|flex-start=align-self:flex-start;<!-- -->|bottom|flex-end=align-self:flex-end;<!-- -->|middle=align-self:center;<!-- -->|#default=align-self:{{{alignself|}}};<!-- -->}}<!-- ======= parameters for general css property or html attribute ======= //parameter: width -->{{#if:{{{width|}}}|width:{{{width|}}};}}<!-- //parameter: height -->{{#if:{{{height|}}}|height:{{{height|}}};}}<!-- //paramter: css / style -->{{#if:{{{css|{{{style|}}}}}}|{{{css|{{{style|}}}}}};}}<!-- //parameter: class arrtibute -->"{{#if:{{{cssclass|{{{class|}}}}}}|<nowiki/> class="{{{cssclass|{{{class|}}}}}}"}}<!-- //parameter: id arrtibute -->{{#if:{{{id|}}}|<nowiki/> id="{{{id|}}}"}}<!-- ending tag-->></includeonly><noinclude> Internal template. See [[Template:Flexbox]] for documentation. </noinclude> 50c6d181927a645224516113bd99c6e96f5681e5 Template:Ifexists 10 70 614 390 2024-02-21T23:34:19Z Lukkram 396381 wikitext text/x-wiki <includeonly>{{#if: {{#dpl:skipthispage = false | redirects = {{{redirects|include}}} | noresultsheader = 1 | title = {{{1|}}}}} | {{{3|}}} | {{{2|}}} }}</includeonly><noinclude> {{doc}} </noinclude> 18a51d7820ee45c67ea3cdc5f45b1f40589af838 Template:Infocard 10 57 615 362 2024-02-21T23:36:32Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- // predefined color keywords -->{{#vardefine:infocard:color_melee|#d20000}}<!-- -->{{#vardefine:infocard:color_warrior|{{#var:infocard:color_melee}}}}<!-- -->{{#vardefine:infocard:color_ranged|#21a08d}}<!-- -->{{#vardefine:infocard:color_ranger|{{#var:infocard:color_ranged}}}}<!-- -->{{#vardefine:infocard:color_magic|#9d0d79}}<!-- -->{{#vardefine:infocard:color_mage|{{#var:infocard:color_magic}}}}<!-- -->{{#vardefine:infocard:color_summoning|#066aff}}<!-- -->{{#vardefine:infocard:color_summon|{{#var:infocard:color_summoning}}}}<!-- -->{{#vardefine:infocard:color_summoner|{{#var:infocard:color_summoning}}}}<!-- // characteristic "terraria" color -->{{#vardefine:infocard:color_terraria|var(--theme-accent-color)}}<!-- CSS variable to support light and dark themes // default color -->{{#vardefine:infocard:color_default|var(--custom-accent-border-color)}}<!-- CSS variable to support light and dark themes // translate theme and color parameters according to the predefined keywords if possible, otherwise leave them as-is -->{{#vardefine:infocard:color|{{#var:infocard:color_{{lc:{{{theme|{{{color|}}}}}}}}|{{{theme|{{{color|}}}}}}}}}}<!-- -->{{#vardefine:infocard:color-all|{{#var:infocard:color_{{lc:{{{theme|}}}}}|{{{theme|}}}}}}}<!-- --><div class="infocard clearfix {{{class|}}}" style="{{{css|{{{style|}}}}}}" id="{{{id|}}}"><!-- // minicard to the side -->{{#if:{{{image|{{{imagealt|}}}}}}|<!-- --><div class="card"><!-- --><div class="image clearfix" style="width:{{{size|250px}}}">{{{imagealt|[[File:{{{image|}}}|{{{size|250px}}}|link=]]}}}</div><!-- // there are 3 text parts to display in the minicard: intro, textlist, outro // textlist is comprised of headings and texts and is defined via "card_" parameters, e.g. "|card_foo=Heading|foo=Text" -->{{#vardefine:infocard:textlist|}}<!-- // concatenate all "card_x" and "x" parameters into one big textlist -->{{#forargs:card_|key|heading|<!-- e.g. with "|card_foo=Heading|foo=Text", #var:key is "foo" and #var:heading is "Heading" -->{{#vardefine:infocard:textlist|{{#var:infocard:textlist}}<!-- concat --><dt>{{#var:heading}}</dt><!-- --><dd>{{{ {{#var:key}}|}}}</dd><!-- e.g. "Text" with "|card_foo=Heading|foo=Text" -->}}<!-- -->}}<!-- // open the text content <div> of the minicard -->{{#vardefine:infocard:minicard_closingtag|}}<!-- -->{{#if:{{{cardintro|{{{cardoutro|{{#var:infocard:textlist}}}}}}}}|<!-- --><div class="content clearfix" style="width:{{{size|250px}}}">{{#vardefine:infocard:minicard_closingtag|</div>}}<!-- -->}}<!-- // display part 1: intro text -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardintro|}}}|<!-- --><div class="intro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardintro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:closingtag}}<!-- // display part 2: textlist -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{#var:infocard:textlist}}|<!-- --><dl>{{#vardefine:infocard:closingtag|</dl>}}<!-- -->}}<!-- -->{{#var:infocard:textlist}}<!-- -->{{#var:infocard:closingtag}}<!-- // display part 3: outro -->{{#vardefine:infocard:closingtag|}}<!-- -->{{#if:{{{cardoutro|}}}|<!-- --><div class="outro"> <nowiki/><!-- -->{{#vardefine:infocard:closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{cardoutro|}}}<!-- -->{{#var:infocard:closingtag}}<!-- // close the text content <div> of the minicard -->{{#var:infocard:minicard_closingtag}}<!-- --></div><!-- -->}}<!-- // main heading of the infocard -->{{#if:{{{name|}}}|<!-- -->{{infocard/mainheading<!-- -->|name={{{name|}}}<!-- -->|subname={{{subname|}}}<!-- -->|namenote={{{namenote|}}}<!-- -->|type={{{type|}}}<!-- -->|padding={{{size|}}}<!-- -->|icon={{#if:{{{image|{{{imagealt|}}}}}}||{{{icon|}}}}}<!-- -->|iconalt={{#if:{{{image|{{{imagealt|}}}}}}||{{{iconalt|}}}}}<!-- -->}}<!-- -->}}<!-- // intro text -->{{#vardefine:infocard:intro_closingtag}}<!-- -->{{#if:{{{intro|}}}|<!-- --><div class="intro" style="{{{intro_css|{{{intro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:intro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{intro|}}}<!-- we reduce the post-expand include size by not putting this in the #if: clause above -->{{#var:infocard:intro_closingtag}}<!-- // boxes // these are defined via "title_" parameters, e.g. "|title_foo=Box heading|foo=Box text" -->{{#forargs:title_|key|heading|<!-- e.g. with "|title_foo=Box heading|foo=Box text", #var:key is "foo" and #var:heading is "Box heading" -->{{infocard/box|title={{#var:heading}}|{{{ {{#var:key}}|}}}}}<!-- -->}}<!-- // outro text -->{{#vardefine:infocard:outro_closingtag}}<!-- -->{{#if:{{{outro|{{{text|}}}}}}|<!-- --><div class="outro" style="{{{outro_css|{{{outro_style|}}}}}}"> <nowiki/><!-- -->{{#vardefine:infocard:outro_closingtag|<nowiki/> </div>}}<!-- -->}}<!-- -->{{{outro|{{{text|}}}}}}<!-- -->{{#var:infocard:outro_closingtag}}<!-- --></div><!-- --></includeonly><noinclude> {{doc}} </noinclude> 52b74e640f8c948fc22771b59a180e6602379f0c Template:Infocard/doc 10 89 616 430 2024-02-21T23:37:35Z Lukkram 396381 wikitext text/x-wiki This template is used to display content in an "info card", which may be visually more appealing than plain text in certain contexts. It has several subtemplates: * For documentation of {{tl|infocard/box}}, see [[#Custom boxes|Custom boxes]]. * For documentation of {{tl|infocard/mainheading}} and {{tl|infocard/heading}}, see [[#Custom headings|Custom headings]]. * For documentation of {{tl|infocard/start}}, {{tl|infocard/end}}, {{tl|infocard/box/start}}, and {{tl|infocard/box/end}}, see [[#Start and end|Start and end]]. == Standard usage == <div class="mw-code">{{(}} '''infocard'''<br/><!-- --><br/>| theme = ''&lt;theme color&gt;''<!-- --><br/>| color = ''&lt;theme color&gt;''<!-- --><br/>| class = ''&lt;custom CSS classes&gt;''<!-- --><br/>| ''style / css'' = ''&lt;custom CSS rules&gt;''<!-- --><br/>| id = ''&lt;HTML ID&gt;''<!-- --><br/><!-- --><br/>| name = ''&lt;main heading text&gt;''<!-- --><br/>| type = ''&lt;smaller text above main heading&gt;''<!-- --><br/>| namenote = ''&lt;smaller text after main heading&gt;''<!-- --><br/>| subname = ''&lt;smaller text below main heading&gt;''<!-- --><br/><!-- --><br/>| icon = ''&lt;image name of icon next to main heading&gt;''<!-- --><br/>| iconalt = ''&lt;custom icon display&gt;''<!-- --><br/>| iconsize = ''&lt;icon size&gt;''<!-- --><br/>| iconclass = ''&lt;custom CSS classes for icon&gt;''<!-- --><br/><!-- --><br/>| intro = ''&lt;text above boxes&gt;''<!-- --><br/>| ''intro_style / intro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/>| ''title_&lt;key1&gt; / title_&lt;key2&gt; / ...'' = ''&lt;box title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;box content&gt;''<!-- --><br/>| ''text / outro'' = ''&lt;text below boxes&gt;''<!-- --><br/>| ''outro_style / outro_css'' = ''&lt;custom CSS rules for text&gt;''<!-- --><br/><!-- --><br/>| size = ''&lt;minicard width&gt;''<!-- --><br/>| image = ''&lt;minicard image name&gt;''<!-- --><br/>| imagealt = ''&lt;custom minicard image display&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text above sub-titles&gt;''<!-- --><br/>| ''card_&lt;key1&gt; / card_&lt;key2&gt; / ...'' = ''&lt;minicard sub-title&gt;''<!-- --><br/>| ''&lt;key1&gt; / &lt;key2&gt; / ...'' = ''&lt;text below respective minicard sub-title&gt;''<!-- --><br/>| cardintro = ''&lt;minicard text below sub-titles&gt;''<!-- --><br/><!-- --><br/>{{)}}</div> ; theme, color Color of the heading bars in the infocard. <code>$theme</code> affects both the card's principal heading and the headings of boxes, whereas <code>$color</code> only affects the card's principal heading. Values can be any valid CSS color (e.g. <code>#E4F0F7</code>, <code>red</code>, <code>rgba(0,0,0,0.3)</code>), or one of these predefined shortcuts (mainly intended for [[Guide:Class setups]]): {| class="wikitable" | {{dotlist|<code>melee</code>|<code>warrior</code>}} | {{color box|text=y|#D20000}} |- | {{dotlist|<code>ranged</code>|<code>ranger</code>}} | {{color box|text=y|#21A08D}} |- | {{dotlist|<code>magic</code>|<code>mage</code>}} | {{color box|text=y|#9D0D79}} |- | {{dotlist|<code>summoning</code>|<code>summon</code>|<code>summoner</code>}} | {{color box|text=y|#066AFF}} |- | {{dotlist|<code>terraria</code>}} | {{color box|text=y|var(--theme-accent-color)}} |- | {{dotlist|<code>default</code>}} | {{color box|text=y|var(--custom-accent-border-color)}} |} If omitted, the default value is {{color box|text=y|var(--theme-highlight-background)}}. ; class CSS class(es) to add to the infocard. Values can be any custom classes and/or these special classes: * <code>compact</code>: Reduces the size of the infocard somewhat, in particular the heading. * <code>auto-width</code>: By default, the infocard occupies the entire width of the article, potentially overlapping floating elements like an image thumbnail. This class causes it to only take up available space, i.e. not overlap floating elements. * <code>biome</code>: Designed for the special infocard format used on biomes' and events' pages (groups of boxes laid out in a flexbox format). See many pages in [[:Category:Environments]] for examples. ; style/css Custom styling for the infocard. ; id ID attribute for the infocard. Can be used for more complex styling via CSS, or for directly linking to the infocard (also see {{tl|anchor}}). ; name Most prominent heading of the infocard. ; type Smaller text above <code>$name</code>, to be used for grouping infocards. ; namenote Smaller text directly after <code>$name</code>, for supplemental information. ; subname Smaller text below <code>$name</code>, for supplemental information. ; icon File name of the icon to be displayed to the right of the infocard's heading, without <code><nowiki>[[File:</nowiki></code> syntax (just the file name). ; iconalt By default, the icon is displayed as <code><nowiki>[[File:$icon|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the icon. ; iconsize Size of the icon in any valid CSS length (e.g. <code>20px</code>, <code>1.5em</code>), default is <code>auto</code>. ; iconclass CSS class(es) to add to the icon. ; intro Main content of the infocard. Will be displayed above any potential boxes. ; intro_style/intro_css Custom styling for the <code>$intro</code> text. ; text/outro Main content of the infocard. Will be displayed below any potential boxes. ; outro_style/outro_css Custom styling for the <code>$text</code>/<code>$outro</code> text. ; title_&lt;key&gt;, &lt;key&gt; Boxes to be displayed between <code>$intro</code> and <code>$text</code>/<code>$outro</code>. Assign each box an identifier (a "key"), then use the parameter <code>$title_&lt;key&gt;</code> for the heading of the box and the parameter <code>$&lt;key&gt;</code> for the content of the box. For instance, use <code>| title_box1 = First box | box1 = Lorem ipsum</code> to display a box with the heading "First box" and the content "Lorem ipsum". <code>box1</code> is the identifier ("key") in this example. ; image Enables a "mini card" to the side of the infocard which consists of an image (as defined by this parameter, without <code><nowiki>[[File:</nowiki></code> syntax) and potentially additional text below it. If the minicard is enabled, the <code>$icon</code> will not be displayed, because they both occupy the same spot. ; imagealt By default, the image is displayed as <code><nowiki>[[File:$image|$size|link=]]</nowiki></code>. This parameter can be used to customize that, e.g. to link the image. ; size Width of the image/minicard (without border): * If <code>$image</code> is used, the image will be as wide as the minicard. The value for <code>$size</code> must be in pixels (because it must conform to the <code><nowiki>[[File:</nowiki></code> syntax). * If <code>$imagealt</code> is used, <code>$size</code> will only affect the width of the minicard, as the image width is custom. The value for <code>$size</code> can be any valid CSS length (e.g. <code>200px</code>, <code>5em</code>). The default value is <code>250px</code>. ; cardintro Main content of the minicard. Will be displayed above any potential sub-headings. ; cardoutro Main content of the minicard. Will be displayed below any potential sub-headings. ; card_&lt;key&gt;, &lt;key&gt; Sub-headings to be displayed between <code>$cardintro</code> and <code>$cardoutro</code>. Assign each sub-heading an identifier (a "key"), then use the parameter <code>$card_&lt;key&gt;</code> for the heading and the parameter <code>$&lt;key&gt;</code> for the text below the heading. For instance, use <code>| card_part1 = First sub-heading | part1 = Lorem ipsum</code> to display a sub-heading "First sub-heading" and text "Lorem ipsum" below it. <code>part1</code> is the identifier ("key") in this example. === Visualization === This is a visualization of what part is affected by each parameter: {{infocard |type=<code><nowiki>{{{type}}}</nowiki></code> |name=<code><nowiki>{{{name}}}</nowiki></code> |namenote=<code><nowiki>{{{namenote}}}</nowiki></code> |subname=<code><nowiki>{{{subname}}}</nowiki></code> |imagealt=<div style="padding: 70px 0.5em;text-align: center; background: var(--theme-background-accent)"><code><nowiki>{{{image}}}</nowiki></code> or <code><nowiki>{{{imagealt}}}</nowiki></code><br/><br/>With <code><nowiki>{{{icon}}}</nowiki></code> or <code><nowiki>{{{iconalt}}}</nowiki></code>, this will be a simple icon instead of a full minicard.</div> |size=300px |cardintro=<code><nowiki>{{{cardintro}}}</nowiki></code> |card_index1=<code><nowiki>{{{card_<key1>}}}</nowiki></code> |index1=<code><nowiki>{{{<key1>}}}</nowiki></code> |card_index2=<code><nowiki>{{{card_<key2>}}}</nowiki></code> |index2=<code><nowiki>{{{<key2>}}}</nowiki></code> |card_index3=... |index3=... |cardoutro=<code><nowiki>{{{cardoutro}}}</nowiki></code> |intro=<code><nowiki>{{{intro}}}</nowiki></code> |title_keyA=<code><nowiki>{{{title_<keyA>}}}</nowiki></code> |keyA=<code><nowiki>{{{<keyA>}}}</nowiki></code> |title_keyB=<code><nowiki>{{{title_<keyB>}}}</nowiki></code> |keyB=<code><nowiki>{{{<keyB>}}}</nowiki></code> |title_keyC=<code><nowiki>{{{title_<keyC>}}}</nowiki></code> |keyC=<code><nowiki>{{{<keyC>}}}</nowiki></code> |title_keyD=<code><nowiki>...</nowiki></code> |keyD=<code><nowiki>...</nowiki></code> |outro=<code><nowiki>{{{outro}}}</nowiki></code> or <code><nowiki>{{{text}}}</nowiki></code> }} === Examples === ==== Simple ==== <pre>{{ infocard | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | namenote = for {{desktop}} | subname = Windows, macOS, Linux | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | type = Game | name = Terraria | color = #168436 | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Icon ==== <pre>{{ infocard | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | icon = Guide.png | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = [[File:Tree.png|link=|x50px]] | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Terraria | iconalt = <div style="background:var(--theme-background);border-radius:100px">{{flexbox |css=width:65px; height:65px; background: var(--theme-highlight-background); border: 1px solid var(--theme-border-color); border-radius:100px; |alignitems=center |justify=center |[[File:Map Icon Guide.png|link=|35px]] }}</div> | text = Terraria is a video game developed by Re-Logic. It was first released as a game for Windows on May 16th, 2011 but has since expanded to several other platforms. It is a 2D action-adventure, open-world sandbox / platformer game in which the player controls a single character in a generated world. }} ==== Boxes ==== <pre>{{ infocard | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | intro = There are two important biomes: the [[Forest]] and the [[Desert]]. | title_forest = Forest biome | forest = The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. | title_desert = Desert biome | desert = The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. | outro = There are also other biomes. }} ==== Minicard ==== <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 200px | cardintro = A player in the Snow biome. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }}</pre> {{ infocard | style = margin-top: 0.5em | name = Snow biome | text = The [[Snow biome]] is a surface biome that takes on an arctic appearance with its constant snowfall, its ground made of Snow and Ice Blocks, and its Boreal trees. It can be of moderate difficulty in the early game, becoming relatively easy with some basic equipment. The biome is always found in the direction of the Dungeon, opposite the Underground Desert and Jungle. It extends underground and transitions to the Ice biome in the Cavern layer. Specific features of the Snow biome include a different water color and a snowscape background. Boreal Trees and Shiverthorn frequently grow in the snow. Penguins wander the surface, and typical enemies include Ice Slimes, Frozen Zombies, and Demon Eyes. When the player touches water or Shimmer in the Snow biome in Expert or Master Mode, it inflicts the player with the Chilled debuff until 5 seconds after they leave the liquid. During rain, the biome undergoes a Blizzard, decreasing visibility. | image = Walkthrough Snow.png | size = 300px | cardintro = Biome features: | card_enemies = Enemies | enemies = <nowiki/> * Ice Slime * Frozen Zombie | card_drops = Enemy drops | drops = Many useful items | cardoutro = Also has its own [[music]] track. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }}</pre> {{ infocard | style = margin-top: 0.5em | name = Moon Lord | text = The Moon Lord is the final boss of the game. | imagealt = <div style=" padding: 20px 20px 0; background: #61BBC2; margin-bottom: -15px;"> [[File:Moon Lord.png|160px|link=]] </div> | size = 200px | card_drops = Drops | drops = Some items }} == Custom boxes == The standard layout of an infocard's content is as described above: intro – boxes – outro. Because this can be limiting, it is possible to manually create boxes in the intro and outro. The subtemplate used for this is {{tl|infocard/box}}. <code>{{(}} '''infocard/box''' | title = ''&lt;box heading&gt;'' | ''&lt;box contents&gt;'' | color = ''&lt;theme color&gt;'' | titlealt = ''&lt;custom box heading format&gt;'' | class = ''&lt;custom CSS classes&gt;'' | ''style/css'' = ''&lt;custom styling&gt;'' {{)}}</code> ; title Heading of the box. ; First unnamed parameter Contents of the box. ; color Color of the heading bar; see [[#Standard usage|above]] for details. ; titlealt Customize the format of the heading completely. See the source code of [[Template:Infocard/box]] for the default format and how this parameter overrides it. ; class CSS class(es) to add to the box. ; style/css Custom styling for the box. === Examples === ==== Simple ==== <pre>{{ infocard | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = There are many important biomes. The first one is the Forest. {{infocard/box | title = Forest biome | The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. }} Another important one is the Desert. {{infocard/box | title = Desert biome | The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} There are many other important biomes. {{infocard/box | Worth mentioning are the [[Snow biome]] and the [[Jungle]]. }} }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | The Underworld is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Biomes | text = At the bottom of the world there is a special biome. {{infocard/box | title = The Underworld | color = #ff6d26 | class = small | [[The Underworld]] is the deepest layer of the world. It is a large, open cavern that stretches across the bottom of the world, with a ceiling of Ash Blocks and a lower terrain of large lava pools, Ash Blocks, and Hellstone. It also contains numerous Ruined Houses, which are natural structures containing unique furniture and loot. The Wall of Flesh boss can be summoned in the Underworld; defeating it will cause the world to convert to Hardmode. }} }} ==== Nested boxes ==== <pre>{{ infocard | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }}</pre> {{ infocard | style = margin-top: 0.5em | name = Weapons | text = {{infocard/box | title = Melee weapons | color = melee | These are some melee weapons. {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Swords |[[Copper Shortsword]], [[Meowmere]] }} {{infocard/box | style = width: 250px | title = Spears |[[Trident]], [[Mushroom Spear]] }} {{flexend}} }} {{infocard/box | title = Ranged weapons | color = ranged | {{flexstart|style=gap:var(--layout-gap)}} {{infocard/box | style = width: 250px | title = Bows |[[Hellwing Bow]], [[Phantasm]] }} {{infocard/box | style = width: 250px | title = Guns |[[Musket]], [[Shotgun]] }} {{infocard/box | style = width: 250px | title = Launchers |[[Rocket Launcher]], [[Grenade Launcher]] }} {{flexend}} }} }} == Custom headings == It is possible to replicate the standard heading at the top of the infocard elsewhere inside it. The subtemplate used for this is {{tl|infocard/mainheading}}. <code>{{(}} '''infocard/mainheading''' | ''&lt;main heading text&gt;'' | type = ''&lt;smaller text above&gt;'' | namenote = ''&lt;smaller text after&gt;'' | subname = ''&lt;smaller text below&gt;'' | color = ''&lt;theme color&gt;'' | icon = ''&lt;icon file name&gt;'' | iconalt = ''&lt;custom icon display&gt;'' | iconsize = ''&lt;icon size&gt;'' | iconclass = ''&lt;custom CSS classes for icon&gt;'' {{)}}</code> These parameters are exactly like the ones used for {{tl|nl=y|infocard}} (except that {{tl|nl=y|infocard/mainheading}} also accepts an unnamed parameter 1, as an alternative for <code>$name</code>). See [[#Standard usage|above]] for their descriptions. An additional helper subtemplate is {{tl|infocard/heading}}, which displays a simple, less prominent heading anywhere in the infocard. === Examples === See [[#Examples|above]] for more examples of heading variations. <pre>{{ infocard | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }}</pre> {{ infocard | style = margin-top: 0.5em | text = There are many important biomes. {{infocard/mainheading | Forest biome }} The [[Forest]] is a pure biome that comprises the majority of the surface world and is typically where the player initially spawns. The global landscape of a Forest includes lots of grass, plenty of trees, lakes of various sizes, and occasional hills that can reveal cave entrances. Forests often contain one or more Living Trees that sometimes have an underground treasure room. {{infocard/mainheading | Desert biome }} The [[Desert]] is a biome which consists predominantly of Sand Blocks and cacti. Every world contains one main Desert area and larger worlds may have additional patches of Desert. The main Desert houses the Underground Desert biome beneath it. Pyramids and small pools of water can rarely appear in Desert biomes. Objects in the Desert appear slightly hazy due to heat distortion, and water has a unique turquoise color. A Desert can also be generated with an Oasis mini-biome, featuring Palm trees and a large pool of water in the center. }} <hr style="margin-top:2em;margin-bottom:2em;"> <pre>{{ infocard | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }}</pre> {{ infocard | style = margin-top: 0.5em | class = compact | text = {{infocard/mainheading | Melee weapons | color = melee }} {{infocard/box | {{infocard/heading| Swords }} [[Copper Shortsword]], [[Meowmere]] {{infocard/heading| Spears }} [[Trident]], [[Mushroom Spear]] }} {{infocard/mainheading | Ranged weapons | color = ranged | iconalt = {{transform|mirror=y|[[File:Vortex armor.png|x35px]]}} }} {{infocard/box | {{infocard/heading| Bows }} [[Hellwing Bow]], [[Phantasm]] {{infocard/heading| Guns }} [[Musket]], [[Shotgun]] {{infocard/heading| Launchers }} [[Rocket Launcher]], [[Grenade Launcher]] }} }} == Start and end == For more complex and convoluted infocards, it is not practical to pass content to the template via the <code>$text</code>/<code>$intro</code>/<code>$outro</code> parameters. These have the usual limitations of template parameters, like pipes (<code>|</code>) and equals signs (<code>=</code>) having to be escaped, the post-expand include size being increased, etc. To circumvent these limitations, use the subtemplates {{tl|infocard/start}} and {{tl|infocard/end}}. The start subtemplate has the exact same parameters as the normal {{tl|nl=y|infocard}} and the end subtemplate has no parameters. Thanks to {{(}}[[#Custom headings|infocard/mainheading]]{{)}} and {{(}}[[#Custom boxes|infocard/box]]{{)}}, it is still possible to use headings and boxes in an infocard transcluded like this. The regular way to transclude an infobox as described above would be this: <pre> {{infocard | name = Guide | text = The first NPC encountered by the player. }} </pre> With start and end templates, it would look like this: <pre> {{infocard/start}} {{infobox/mainheading|Guide}} The first NPC encountered by the player. {{infocard/end}} </pre> The output is identical. Similar subtemplates exist for {{(}}[[#Custom boxes|infocard/box]]{{)}}: {{tl|infocard/box/start}} and {{tl|infocard/box/end}}. They similarly allow a more convoluted setup of a box in an infocard. == Options == {{options/autodoc|note_box-css=Default css for {{tl|infocard/box}}.}} == Subpages == <div style="-webkit-column-count:3;column-count:3;"> {{#dpl: |namespace=Template |titlematch=Infocard/% |notcategorymatch=% translation |nottitlematch=%/doc% |ordermethod=title |columns=3 }} </div> <noinclude> </noinclude> f50dec6dcc33ec8a1cbfa0d481f2106f53c0d8bc Template:Infocard/heading 10 83 617 418 2024-02-21T23:39:17Z Lukkram 396381 wikitext text/x-wiki <includeonly><div class="heading">{{{1|}}}</div></includeonly><noinclude> {{internal subtemplate}} </noinclude> a53464063b3ac7bd0c847cba7ec4c83ddd9b50fe Template:Infocard/initOptions 10 82 618 416 2024-02-21T23:41:30Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- -->{{options/init|infocard<!-- -->|key:size=250px<!-- -->|alias:cardsize=size<!-- -->|alias:minicardsize=size<!-- -->|key:class=<!-- -->|key:css=<!-- -->|alias:style=css<!-- -->|key:color=<!-- -->|key:theme=<!-- -->|key:box-css=<!-- -->|alias:box-style=box-css<!-- -->|key:box-class=<!-- -->}}<!-- --></includeonly><!-- --><noinclude> {{options subtemplate}} </noinclude> 362c7815a03d48410837fa977d8c9a7a665f0cf4 Template:Infocard/mainheading 10 84 619 420 2024-02-21T23:42:30Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- --><div class="main-heading" style="background:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};border-right-color:{{#var:infocard:color_{{lc:{{{color|}}}}}|{{{color|{{#var:infocard:color}}}}}}};padding-right:{{{padding|0}}};{{{style|{{{css|}}}}}}"><!-- // display text --><div class="hgroup"><!-- -->{{#if:{{{type|}}}|<div>{{{type}}}</div>}}<!-- --><div class="main"><!-- -->{{{1|{{{name|}}}}}}<!-- -->{{#if:{{{namenote|}}}|<span class="namenote">&#32;{{{namenote}}}</span>}}<!-- --></div><!-- -->{{#if:{{{subname|}}}|<div>{{{subname}}}</div>}}<!-- --></div><!-- // display icon // $icon and $iconalt might be set to blank values, e.g. when this template is called from {{infocard}} or {{infocard/start}}, hence the #or -->{{#if:{{{icon|}}}{{{iconalt|}}}|<!-- --><div class="{{{iconclass|}}} icon clearfix" style="--iconsize: {{{iconsize|auto}}}">{{#or:{{{iconalt|}}}|[[File:{{{icon|}}}|link=]]}}</div><!-- -->}}<!-- --></div><!-- --></includeonly><!-- --><noinclude> {{internal subtemplate}} </noinclude> e926eaa8b835328aa82d6f17df6f45531d742771 Template:IsNumber 10 76 620 404 2024-02-21T23:43:37Z Lukkram 396381 wikitext text/x-wiki <includeonly>{{#rmatch:{{{1|}}}|{{#if:{{bool|{{{onlypositive|}}}}}|^\d+$|^-?\d+$}}|y}}</includeonly><noinclude>{{doc}} </noinclude> e90d5984d357c1d9e986169cfd2f2bb2753cb628 Template:Options/autodoc 10 91 621 434 2024-02-22T00:00:42Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:options_namespace|{{#or:{{{1|}}}|{{lcfirst:{{ROOTPAGENAME}}}}}}}}<!-- "Chance" for "Template:Chance/doc" -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|yes}}<!-- -->{{#ifeq:{{NAMESPACENUMBER}}|10| {{ {{#var:options_namespace}}/initOptions}} }}<!-- autoload -->{{#ifeq:{{SUBPAGENAME}}|initOptions|| This template supports options through {{tl|options}} template. All valid options are listed below, see {{tl|options}} for usage and other infomation. See [[Template:{{#var:options_namespace}}/initOptions]] for the initial options setting of this template. }} <table class="wikitable"><!-- --><tr><th>Name</th><th>Alias</th><th>Initial Value</th><th>Value Mapping<ref>Values with mapping will be stored and loaded as mapped value. Other values without mapping will be stored and loaded as-is.</ref></th><th>Note</th></tr><!-- -->{{#arrayprint:optionsKeys:{{#var:options_namespace}}||@@@@|<!-- --><tr>{{#var:optionsDoc:@@@@}}</td><td>{{{note_@@@@|}}}</td></tr><!-- -->}}</table><!-- -->{{reflist}}<!-- --></includeonly><noinclude> Used to auto gen document for options. See {{tl|options}} for more info. See [[Template:Chance/doc]] for example. </noinclude> 39801ec48dc8b627b5bf699a319e72d91683bf6c Template:Options/get 10 71 622 392 2024-02-22T00:01:19Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- $1: namespace, $2: key $1 $2 are not trimmed for better performance. auto init from {{<ns>/initOptions}}. -->{{#if:{{#var:optionsInitialized:{{{1|}}}}}||{{#if:{{{1|}}}|{{#vardefine:_| {{ {{{1|}}}/initOptions }} }}}}}}<!-- get option value -->{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:{{{2|}}}|<__invalid__>}}}}<!-- --></includeonly><noinclude> example: <pre> {{options/get|namespace|foo}} </pre> See {{tl|options}} for more info. </noinclude> 52060c738b3a8e45e6575c477ee97e53ad570af9 Template:Options/init 10 72 623 394 2024-02-22T00:01:55Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- set flag: -->{{#vardefine:optionsInitialized:{{{1|}}}|y}}<!-- -->{{#vardefine:options:{{{1|}}}:<__invalid__>|{{error|Inexistent option key}}}}<!-- all $key=$default_value pairs -->{{#vardefine:optionsKeys:{{{1|}}}|}}<!-- -->{{#forargs:key:|$key|$value|<!-- -->{{#vardefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}{{#var:$key}},}}<!-- append to key list -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$key}}}}<!-- register key alias (for better performance) //default value: -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:y|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:n|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|}}<!-- default is empty // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:yes|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:on|y}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:no|n}}<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}:off|n}}<!-- -->|#default=<!-- -->{{#vardefine:options:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- -->}}<!-- -->{{#arraydefine:optionsKeys:{{{1|}}}|{{#var:optionsKeys:{{{1|}}}}}|,|unique}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- -->{{#vardefine:optionsAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- -->{{#vardefine:optionsValueAlias:{{{1|}}}:{{#var:$key}}|{{#var:$value}}}}<!-- here $key is "name:value" -->}}<!-- //make an init snapshot. //don't use {{options/snap}} here to avoid template loop -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsSnap:{{{1|}}}:__RESET__:@@@@|{{#var:options:{{{1|}}}:{{#var:optionsAlias:{{{1|}}}:@@@@|<__invalid__>}}}}}}<!-- -->}}<!-- ==== doc mode: gen doc, table rows ==== -->{{#if:{{#var:__FLAG_OPTIONS_AUTODOC__}}|<!-- key name: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|<td><code>@@@@</code></td><td>}}<!-- -->}}<!-- key alias: -->{{#forargs:alias:|$key|$value|<!-- $key is alias, $value is origin key name. -->{{#vardefine:optionsDoc:{{#var:$value}}|{{#var:optionsDoc:{{#var:$value}}}}<code>{{#var:$key}}</code><br/>}}<!-- -->}}<!-- initial value: -->{{#arrayprint:optionsKeys:{{{1|}}}||@@@@|<!-- -->{{#vardefine:optionsDoc:@@@@|{{#var:optionsDoc:@@@@}}</td><td><code>{{#var:options:{{{1|}}}:@@@@|<i><small>(empty)</small></i>}}</code></td><td>}}<!-- -->}}<!-- value alias: -->{{#forargs:value:|$key|$value|<!-- //here $key is "name:value" -->{{#vardefine:_key|{{#explode:{{#var:$key}}|:|0|2}}}}<!-- -->{{#vardefine:_from|{{#explode:{{#var:$key}}|:|1|2}}}}<!-- -->{{#vardefine:optionsDoc:{{#var:_key}}|{{#var:optionsDoc:{{#var:_key}}}}<code>{{#var:_from}}</code> → <code>{{#var:$value|<i><small>(empty)</small></i>}}</code><br/>}}<!-- -->}}<!-- // (bool:true) and (bool:false) -->{{#forargs:key:|$key|$value|<!-- -->{{#switch:{{#var:$value}}<!-- -->|(bool:true)=<!-- this option is bool type, for stored value: empty means true, nonempty means false. // input mapping: y/yes/on => (empty), n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>y</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>yes</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>on</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|(bool:false)=<!-- this option is bool type, for stored value: empty means false, nonempty means true. // input mapping: y/yes/on => y, n/no/off => (empty) -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>n</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>no</code> → <code><i><small>(empty)</small></i></code><br/><!-- --><code>off</code> → <code><i><small>(empty)</small></i></code><br/><!-- -->}}<!-- -->|(bool)=<!-- this option is bool type, for stored value: "y" means true, "n" means false, other means undefined. // input mapping: y/yes/on => y, n/no/off => n -->{{#vardefine:optionsDoc:{{#var:$key}}|{{#var:optionsDoc:{{#var:$key}}}}<!-- --><code>yes</code> → <code>y</code><br/><!-- --><code>on</code> → <code>y</code><br/><!-- --><code>no</code> → <code>n</code><br/><!-- --><code>off</code> → <code>n</code><br/><!-- -->}}<!-- -->|#default=<!-- nothing -->}}<!-- -->}}<!-- -->{{#vardefine:__FLAG_OPTIONS_AUTODOC__|}}<!-- reset flag -->}}<!-- --></includeonly><noinclude> example: <pre> {{options/init|item<!-- -->|key:icons=yes<!-- default value of "icons" option is "yes" -->|key:small=no<!-- default value of "small" option is "no" -->|value:small:n=no<!-- value "n" for "small" is same as "no", {{options/set|item|small=n}} is same as {{options/set|item|small=no}} -->|key:style=<!-- default value of "style" is empty value. -->|alias:css=style<!-- "css" is an alias of "style", so {{options|item|css}} is same as {{options|item|style}} -->|key:wrap=(bool:true)<!-- bool value, default value is empty, empty value means true, nonempty value means false -->|key:nolink=(bool:false)<!-- default value is empty, e, nonempty value means false -->}} </pre> See {{tl|options}} for more info. </noinclude> 5e78eaab0fbed580f1feddd2c919e57f501f6b46 Template:Reflist 10 78 624 408 2024-02-22T00:03:13Z Lukkram 396381 wikitext text/x-wiki <div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }} <!-- -->{{#if:{{{css|{{{style|}}}}}}|style="{{{css|{{{style|}}}}}}"}}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div><noinclude> {{doc}} </noinclude> f75dcd46463f6f3c9eb64c3eccc4c44443cd2ccf Template:Tl 10 73 625 396 2024-02-22T00:09:50Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:tl:nolink|{{bool|{{{nl|}}}}}}}<!-- -->{{#if:{{bool|{{{code|}}}}}|<code>}}<!-- -->{{(}}<!-- -->{{#uesc:{{#rmatch:{{{1|}}}|^#(\s*(\w+?)\s*)(:(.*)${{!}}$)|<esc><!-- // parser functions -->{{#vardefine:tl:parserf_link|}}<!-- -->{{#vardefine:tl:parserf_link|{{tl/parser function links|$2}}}}<!-- get link to doc page --><nowiki/>#<!-- -->{{#if:{{#var:tl:nolink}}{{#if:{{#var:tl:parserf_link}}||y}}|<!-- --><span title="#$1:">$1</span><!-- -->|<!-- --><span class=plainlinks>[{{tl/parser function links|$2}}##$2 $1]</span><!-- -->}}<!-- -->:$4<!-- --></esc>|<!-- // templates -->{{#if:{{#var:tl:nolink}}{{ifexists|Template:{{{1}}}|3=n}}|<!-- --><span title="{{ns:Template}}:{{ucfirst:{{{1}}}}}">{{{1}}}</span><!-- -->|<!-- -->[[Template:{{{1}}}|{{{1}}}]]<!-- -->}}<!-- -->}}}}<!-- -->{{#or:<!-- -->{{#dplreplace:{{{__paramslist|}}}|/₪/|{{!}}}}<!-- -->|<!-- -->{{#fornumargs:k|v|<!-- -->{{#ifexpr:{{#var:k}}!=1|<!-- skip first parameter -->{{!}}{{#var:v}}<!-- -->}}<!-- -->}}<!-- -->}}<!-- -->{{)}}<!-- -->{{#if:{{bool|{{{code|}}}}}|</code>}}<!-- --></includeonly><!-- --><noinclude> {{doc}} </noinclude> 2e5a712f87d51fcebaa777bb264e9843e32f96ee Template:Transform 10 86 626 424 2024-02-22T00:13:53Z Lukkram 396381 wikitext text/x-wiki <includeonly><!-- // assemble a string of transformations by iterating over all parameters in order -->{{#vardefine:transform:style|<!-- -->{{#forargs:|parametername|parametervalue|<!-- -->{{#switch:{{#var:parametername}}<!-- -->|flip= scaleY(-1)<!-- -->|mirror= scaleX(-1)<!-- -->|rotation= rotate({{#var:parametervalue}}deg)<!-- -->|scale= scale({{#var:parametervalue}},{{#var:parametervalue}})<!-- -->}}<!-- -->}}<!-- -->}}<!-- // output --><div style="{{{style|}}}; display: {{{display|inline-block}}}; -moz-transform: {{#var:transform:style}}; -ms-transform: {{#var:transform:style}}; -o-transform: {{#var:transform:style}}; -webkit-transform: {{#var:transform:style}}; transform: {{#var:transform:style}}">{{{1}}}</div><!-- --></includeonly><noinclude> {{doc}} </noinclude> aede34d45aa0e1285621bfba0d86d04f82d4c0cd Trailmakers 0 44 627 599 2024-02-22T00:29:12Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} [[Category:Trailmakers| ]] c6d4fff0962b4ff3180b06941e915d59e8d795c2 679 627 2024-02-28T11:07:58Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | image = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] 791c85488173e59f738a369a35eae92e809e1e86 680 679 2024-02-28T11:16:21Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | wideimage = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] 117f5d83dc0401ecf94532bd6af1b10ef7e7b31d 685 680 2024-02-28T12:29:27Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{GPI |title= |image=keyart.jpg |caption=tseting |powercores= |weight=20 |size=1x1x1 |power= |hp=10 |aero=red }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | wideimage = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] bf02ee67aecfc7eebfb788055437cf5878d01b62 689 685 2024-02-28T12:35:43Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{GPI |title= |image=keyart.jpg |caption=tseting |powercores= |weight=20 |size=1x1x1 |power= |dmg= |hp=10 |aero=red }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | wideimage = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] 1b072536a108af7a17c834011af6d52d3fb0d713 690 689 2024-02-28T12:36:20Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{GPI |title= |image=keyart.jpg |caption=testing |weight=20 |size=1x1x1 |hp=10 |aero=red }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | wideimage = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] f91a9092d959e5c9b486350231631c68699b8478 693 690 2024-02-28T13:02:29Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{GPI |title= |image=keyart.jpg |caption=testing |forblocks=Properties |powercores=1 |weight=20 |size=1x1x1 |power=333 |hp=10 |aero=red }} {{Flexend}} {{Flexstart|inline}} {{Infobox start}} {{Infobox header | name = Test | wideimage = keyart.jpg | description = keyart }} {{Infobox section|Testy}} {{Infobox row|label1|test1}} {{Infobox row|label2|test2}} {{Infobox end}} {{Flexend}} [[Category:Trailmakers| ]] 111c9138ba27a96066605c8855d4dc726820b13c 699 693 2024-02-28T14:07:18Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{GPI |title= |image=keyart.jpg |caption=testing {{GPIblocks |powercores=1 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= }} }} {{Flexend}} [[Category:Trailmakers| ]] 29739cf1cf94ab7e0d821aa80950544e887277bc 701 699 2024-02-28T14:19:04Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=10 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= |description= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] 3a007f0b788633b6840d3a6b174aaf021edffa2c 707 701 2024-02-28T20:33:19Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=10 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= hello there |description= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] 27d1e6b186355268f80deb98b8638f78e7c5f142 709 707 2024-02-28T20:34:04Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=10 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= |description= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] 3a007f0b788633b6840d3a6b174aaf021edffa2c 710 709 2024-02-28T20:37:15Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores= |weight=20 |size=1x1x1 |power= |dmg= |hp=25 |aero=red |other= |description= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] 341496169fb43755411a14415db799fca47c0c8a 711 710 2024-02-28T20:42:54Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=3 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= hello there |description= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] c76b965177f25e1b3781c7b3c27637a294887f97 715 711 2024-02-28T21:11:46Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=3 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= hello there |about= a simple test to test this thing }} {{Flexend}} [[Category:Trailmakers| ]] da7914584fe7dca010fbaa044cedba46df4b60b5 717 715 2024-02-28T21:12:54Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=3 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= hello there |about= }} {{Flexend}} [[Category:Trailmakers| ]] 7bd6f4b43097a53a2fe2bb017dd606a88a5428e7 718 717 2024-02-28T21:13:45Z Lukkram 396381 wikitext text/x-wiki {{stub}} {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{GPIblocks |title=test |image=keyart.jpg |caption=keyart |powercores=3 |weight=20 |size=1x1x1 |power=333 |dmg= |hp=25 |aero=red |other= hello there |about= small thingy for description }} {{Flexend}} [[Category:Trailmakers| ]] 8f4eeeaeb1e0173a25168fd7e8a84c27c319d395 731 718 2024-03-02T14:58:25Z Lukkram 396381 wikitext text/x-wiki {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{PIblock |title= Testing |image=SA_01.png |caption=little text |weight=10kg |size=2x2x2 |hp=60 |aero=none |other= epic stuff |about= little box for a little description }} {{Flexend}} [[Category:Trailmakers| ]] 5042ef373340ddf49df762c2e14797db3399e6ae 732 731 2024-03-02T14:58:51Z Lukkram 396381 wikitext text/x-wiki {{Flexstart|inline}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Flashbulb |publisher=Flashbulb |release= |platform=PC }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Testing |image=SA_01.png |caption=little text |weight=10kg |size=2x2x2 |hp=60 |aero=none |other= epic stuff |about= little box for a little description }} {{Flexend}} [[Category:Trailmakers| ]] 6b108e19e8a43484c0da14de17390d2a8654a8b5 Template:Doc 10 90 649 602 2024-02-28T10:24:56Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly>{| class="article-table" style="width:100%;" |- style="font-size:18px;" ! Template documentation follows |- | ''Note: the template above may sometimes be partially or fully invisible.'' |- | Visit [[Template:{{PAGENAMEE}}/doc]] to edit this documentation. ([[Template:Documentation|How does this work?]]) |} <div style="margin:0 1em;"> {{{{PAGENAME}}/doc}}</div></includeonly><noinclude>{{doc}}[[Category:Template documentation| ]]</noinclude> 693fc2c5bedce938cf038952928753140ca8ac6f Template:Doc/end 10 163 651 650 2024-02-28T10:24:56Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly></div> <div class="doc-footer"><!-- -->{{#ifeq: {{SUBPAGENAME}} | doc |<!-- --><p style="margin: 0">This is the documentation page, it should be transcluded into the main template page. See [[Template:Doc]] for more information.</p>[[Category:Template documentation|{{BASEPAGENAME}}]] |<!-- --><p class="plainlinks" style="margin: 0">The above documentation is transcluded from [[{{FULLPAGENAME}}/doc]]. <small>([{{fullurl:{{FULLPAGENAME}}/doc|action=edit}} edit] &#124; [{{fullurl:{{FULLPAGENAME}}/doc|action=history}} history])</small></p> }}<!-- --></div></includeonly><noinclude>[[Category:Documentation templates| {{PAGENAME}}]]</noinclude> 5901ae94ecaa54ca3b42da5f7715eb719863acd6 Template:Doc/start 10 164 653 652 2024-02-28T10:24:56Z Lukkram 396381 1 revision imported wikitext text/x-wiki <includeonly><!-- -->{{#vardefine: nodoc | {{{nodoc}}} }}<!-- -->{{#vardefine: baddoc | {{{baddoc}}} }}<!-- -->{{#if: {{{1|}}} | {{#ifeq: {{SUBPAGENAME}} | doc | | <div style="height: 1em; clear: both; margin-top: 5px;"></div> }} }}<!-- --><div class="doc"> <div class="doc-header"><!-- -->[[File:Template-{{#if: {{{nodoc|}}} | no | {{#if: {{{baddoc|}}} | bad }} }}info.png|50px|bottom|link=]] <span style="font-weight: bold; font-size: 125%;">Documentation</span><!-- --><div class="plainlinks" style="float: right; margin-left: 5px">&#91;[{{fullurl:{{FULLPAGENAME}}|action=purge}} purge]&#93;</div></div><!-- -->{{#if: {{{nodoc|}}} | '''This template has no documentation. If you know how to use this template, please add some.'''<!-- -->{{#ifeq: {{SUBPAGENAME}} | doc | | [[Category:Templates with no documentation|{{BASEPAGENAME}}]]}} |<!-- -->{{#if: {{{baddoc|}}} | '''This template's documentation has been marked as bad. Please improve or add to it.'''<!-- -->{{#ifeq: {{SUBPAGENAME}} | doc | | [[Category:Templates with bad documentation|{{BASEPAGENAME}}]]}}<!-- -->}} }}</includeonly><noinclude>[[Category:Documentation templates| {{PAGENAME}}]]</noinclude> 109c2325259817970f752e7c6d44c7d91164d6c5 Category:Infobox part templates 14 172 668 2024-02-28T10:31:07Z Lukkram 396381 Created page with "Templates used for the creation of infoboxes by parts" wikitext text/x-wiki Templates used for the creation of infoboxes by parts 8e421beb23c7d4449d9e00c87d61727a85cfa6d7 MediaWiki:Common.css 8 137 681 571 2024-02-28T11:38:29Z Westgrass 40 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: none; --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 7f6ede8d02561ccc2d17275158345715d1e9d4a0 704 681 2024-02-28T20:29:02Z Lukkram 396381 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: rgba(255,255,255,0.08); --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); border-radius: 3px; } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); border-radius: 3px; margin-top: 3px; margin-left: 2px; margin-right: 2px; } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border-radius: 6px; overflow: hidden; border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a22185e637dd4a69f8157188182f17f794cc0e42 713 704 2024-02-28T21:07:28Z Lukkram 396381 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: rgba(255,255,255,0.08); --pi-padding: 2px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); border-radius: 3px; } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); border-radius: 3px; border-color: #f000; margin-top: 3px; margin-left: 2px; margin-right: 2px; } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border-radius: 6px; overflow: hidden; border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 0da7c5c6bc811f5219040ab52a9b64396e4e2f92 719 713 2024-02-28T21:30:15Z Lukkram 396381 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: rgba(255,255,255,0.08); --pi-padding: 4px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); border-radius: 3px; } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); border-radius: 3px; border-color: #f000; margin-top: 3px; margin-left: 2px; margin-right: 2px; } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border-radius: 6px; overflow: hidden; border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c86c4353c29ad3d4651130cdc2f0877a6c07fd70 720 719 2024-03-01T16:40:29Z Lukkram 396381 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: rgba(255,255,255,0.08); --pi-padding: 4px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); border-radius: 3px; } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); border-radius: 3px; border-color: #f000; margin-top: 3px; margin-left: 2px; margin-right: 2px; } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border-radius: 6px; overflow: hidden; border: 1px solid var(--pi-border-color); } .pi-smart-data-value:not(:first-child) { border-color: #f000 } .portable-infobox .pi-border-color { border-color:rgba(255,213,0,0.25); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b3bbfb0870aadc5ee81b2c042635da888c11206e 726 720 2024-03-02T14:09:49Z Lukkram 396381 css text/css @import url(https://commons.wiki.gg/MediaWiki:wikigg.css?action=raw&ctype=text/css); /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: drop-shadow(0 0 10px rgba(0,0,0, 0.5)); --theme-site-logo-width: 982px; --theme-site-logo-height: 110px; /*** site background ***/ --theme-site-background: #9fbcc4 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 0px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #c3a300; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.94),rgba(255,255,255,0.94)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #14853a; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0a6fa6; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #C3A300FF; --theme-highlight-background: rgba(255, 213, 0, 0.25); /* dropdown menu */ --theme-dropdown-border: 0px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(255,255,255,0.15); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: rgba(255,255,255,0.08); --pi-padding: 4px; } :root.theme-dark { --theme-site-background: #003a4c url(/images/c/c4/Site-background-dark.jpg) top center / cover no-repeat fixed; } :root.theme-dark { --theme-box-border-color: #ffd500; --theme-box-background: linear-gradient(rgba(20, 44, 60, 0.97), rgba(20, 44, 60, 0.97)); } :root.theme-dark { --theme-text-color: #fff; --theme-text-color-note: #ccc; --theme-text-color-em: #00f600; } :root.theme-dark { --theme-link-color: #00c0ff; --theme-link-color-redlink: #dd001a; } :root.theme-dark { --theme-border-color: rgba(255,255,255, 0.15); --theme-border-color-accent: #ffd500; --theme-highlight-background: rgba(255, 213, 0, 0.25); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-text-color: #fff; --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-border-width: 1px; --theme-border-color: rgba(255,255,255,.1); --theme-gap: 0; --theme-background: rgba(15, 33, 45, 0.9); --theme-heading-color: #ffd500; --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: rgba(15, 33, 45, 0.9); --theme-text-color: #ccc; --theme-link-color: #00c0fe; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); } /* navbar */ #mw-head { --theme-link-color: #fff; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-icon-color: #ffd500; --theme-icon-color-hover: var(--theme-icon-color); --theme-background: rgba(15, 33, 45, 0.9); --theme-background-shadow: none; --theme-tab-background: none; --theme-tab-background-selected: none; --theme-tab-color-selected: #ffd500; --theme-tab-color-selected-hover: #ffd500; --theme-tab-border-color: transparent; --theme-tab-border-color-selected: var(--theme-box-border-color); --theme-dropdown-background: rgba(15, 33, 45, 0.9); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 0.5; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 5); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: var(--layout-logo-box-height); left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: 0; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel #t-print { display: none; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: 6px 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; border-bottom: 2px solid var(--theme-box-border-color); } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 3px; --theme-border-bottom-color: transparent; --theme-border-bottom-color-selected: var(--theme-tab-border-color-selected); } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; border-top: 3px solid var(--theme-box-border-color); } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-box-back-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { :root { --layout-logo-scale: calc(1/3); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 4); } /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(34px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; width: 100%; box-sizing: border-box; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-43px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { :root { --layout-logo-scale: 0.25; --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); } } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: var(--pi-padding); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title, .portable-infobox .pi-header { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); border-radius: 3px; } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); border-radius: 3px; border-color: #f000; margin-top: 3px; margin-left: 2px; margin-right: 2px; margin-bottom: 2px; } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 4 4 800px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.quicklinks { font-size: 18px; } #mainpage-wrap .box.quicklinks .content { display: flex; gap: 2em; flex-wrap: wrap; } #mainpage-wrap .box.quicklinks .content > div { padding: 0.75em 1.5em; border: 1px solid var(--theme-link-color); } .slider { margin: 1em auto; width: 100%; max-width: 100%; overflow: hidden; position: relative; text-align: left; } .slider > .prev, .slider > .next { display: block; width: 30px; height: 30px; background: rgba(255, 255, 255, 0.6); position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; border-radius: 100%; } .slider > .prev:before, .slider > .next:before { content: ""; display: block; width: 14px; height: 14px; margin: 8px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath id='aarow-tiny' d='M5 11a.997.997 0 0 1-.707-.293l-4-4A.983.983 0 0 1 0 6.003v-.006a.988.988 0 0 1 .293-.704l4-4a.999.999 0 1 1 1.414 1.414L3.414 5H11a1 1 0 1 1 0 2H3.414l2.293 2.293A.999.999 0 0 1 5 11'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: #333; } .slider > .prev { left: 6px; } .slider > .next { right: 6px; } .slider > .next:before { transform: scaleX(-1); } .slider ul { height: 100%; margin: 0; transition: transform 0.3s; } .slider li { display: grid; position: absolute; margin: 0; width: 100%; height: 100%; background-size: var(--image-resize-mode); background-position: center center; background-repeat: no-repeat; } .slider li img, .slider li > a { display: block; place-self: center center; width: 100% !important; height: 100% !important; opacity: 0; } .slider li > span { position: absolute; left: 0; bottom: 0; background: rgba(0, 0, 0, 0.75); color: white; display: block; width: 100%; box-sizing: border-box; padding: 8px; font-size: 12px; } .slider li > span b { display: block; font-size: 14px; } .slider li > span a { display: block; color: #fff; font-weight: bold; } @media (min-width: 640px) { .slider li > span a { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); } } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ffd500; } .theme-dark .tabber__tab:visited { color: #fcb900; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border-radius: 6px; overflow: hidden; border: 1px solid var(--pi-border-color); } .pi-smart-data-value:not(:first-child) { border-color: #f000 } .portable-infobox .pi-border-color { border-color:rgba(255,213,0,0.25); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b22de9405d8dc02ce14a69e4d0d9610b33756bd0 File:SA 01.png 6 175 721 2024-03-02T13:09:58Z Lukkram 396381 Trailmakers Achievements 01 wikitext text/x-wiki == Summary == Trailmakers Achievements 01 e8bfa7674be10607d603a671e875ac5e6999ded5 Template:PIachievements 10 176 722 2024-03-02T13:17:50Z Lukkram 396381 Created page with "<includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="about"> <label>About</label> </data> <header>Obtained by</header> <group row-items="3"> <data source="steam"> <label>Steam</label> </data> <data source="xbox"> <label>Xbox</label> </data> <data source="ps"> <label>PS</label> </da..." wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="about"> <label>About</label> </data> <header>Obtained by</header> <group row-items="3"> <data source="steam"> <label>Steam</label> </data> <data source="xbox"> <label>Xbox</label> </data> <data source="ps"> <label>PS</label> </data> </group> <data source="other"> <label>Other</label> </data> </group> <data source="about"> <label>About</label> </data> </infobox> </includeonly> <noinclude> Usage:<pre> {{PIachievements |title= |image= |caption= |about= |steam= |xbox= |ps= |other= |about= }} </pre> [[Category:Infobox templates]]</noinclude> caba78379b0e1b46398c042da77f1bbf6781c3b9 723 722 2024-03-02T13:19:25Z Lukkram 396381 wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="about"> <label>About</label> </data> <header>Obtained by</header> <group row-items="3"> <data source="steam"> <label>Steam</label> </data> <data source="xbox"> <label>Xbox</label> </data> <data source="ps"> <label>PS</label> </data> </group> <data source="other"> <label>Other</label> </data> </infobox> </includeonly> <noinclude> Usage:<pre> {{PIachievements |title= |image= |caption= |about= |steam= |xbox= |ps= |other= }} </pre> [[Category:Infobox templates]]</noinclude> a33c395ebd5dca9e847b0e4a9157ce683529372a Achievements 0 56 724 436 2024-03-02T13:48:19Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) <tabber> |-|Danger Zone= {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_01.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_01.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_01.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_01.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_01.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_01.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_01.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_01.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_01.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_01.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_01.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_01.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_01.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_01.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_01.png |caption= |about= Enter the volcano |steam= 15.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_01.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_01.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_01.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_01.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_01.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_01.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox= |ps= |other= }} {{Flexend}} </tabber> a485cd59644c59a7e3518f29256d5b42a38ffc19 725 724 2024-03-02T14:05:13Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_01.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_01.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_01.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_01.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_01.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_01.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_01.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_01.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_01.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_01.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_01.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_01.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_01.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_01.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_01.png |caption= |about= Enter the volcano |steam= 15.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_01.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_01.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_01.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_01.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_01.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_01.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox= |ps= |other= }} {{Flexend}} </tabber> c414d2c8d1f5f43bf648ed32fe0a62258bd76aed Template:PIpowercore 10 177 727 2024-03-02T14:37:13Z Lukkram 396381 Created page with "<includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="3"> <data source="powercores"> <label>Cores</label> </data> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="po..." wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="3"> <data source="powercores"> <label>Cores</label> </data> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="power"> <label>Power</label> </data> <data source="dmg"> <label>Damage</label> </data> <data source="hp"> <label>HP</label> </data> <data source="aero"> <label>Aero</label> </data> </group> <data source="other"> <label>Other</label> </data> </group> <data source="about"> <label>About</label> </data> </infobox> </includeonly> <noinclude> Usage:<pre> This template is for making Infoboxes for blocks that have a power core cost. To use it, simply copy and paste the snippet below and fill in the fields (empty fields will not be rendered). If you want to use multiple like in [[Achievements]], just add <nowiki>{{Flexstart|inline}}</nowiki> before and <nowiki>{{Flexend}}</nowiki> after the snippet. {{PIpowercore |title= |image= |caption= |powercores= |weight= |size= |power= |dmg= |hp= |aero= |other= |about= }} </pre> [[Category:Infobox templates]]</noinclude> 5a98ccb40e6092b57965bd51b6bf9f7e09acaba9 728 727 2024-03-02T14:50:42Z Lukkram 396381 wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="3"> <data source="powercores"> <label>Cores</label> </data> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="power"> <label>Power</label> </data> <data source="dmg"> <label>Damage</label> </data> <data source="hp"> <label>HP</label> </data> <data source="aero"> <label>Aero</label> </data> </group> <data source="other"> <label>Other</label> </data> </group> <data source="about"> <label>About</label> </data> </infobox> </includeonly> <noinclude> Usage: This template is for making Infoboxes for blocks that have a power core cost. To use it, simply copy and paste the snippet below and fill in the fields (empty fields will not be rendered). If you want to use multiple like in [[Achievements]], just add <nowiki>{{Flexstart|inline}}</nowiki> before and <nowiki>{{Flexend}}</nowiki> after the snippet. <pre> {{PIpowercore |title= |image= |caption= |powercores= |weight= |size= |power= |dmg= |hp= |aero= |other= |about= }} </pre> [[Category:Infobox templates]]</noinclude> 9530f3f9fe04d10db1fd6bbad9cf2047dcf870b0 Template:PIblock 10 178 729 2024-03-02T14:55:02Z Lukkram 396381 Created page with "<includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="2"> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="hp"> <label>HP</label> </data> <data source="aero">..." wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="2"> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="hp"> <label>HP</label> </data> <data source="aero"> <label>Aero</label> </data> </group> <data source="other"> <label>Other</label> </data> </group> <data source="about"> <label>About</label> </data> </infobox> </includeonly> <noinclude> Usage: This template is for making Infoboxes for blocks that don't have a power core cost. To use it, simply copy and paste the snippet below and fill in the fields (empty fields will not be rendered). If you want to use multiple like in [[Achievements]], just add <nowiki>{{Flexstart|inline}}</nowiki> before and <nowiki>{{Flexend}}</nowiki> after the snippet. <pre> {{PIpowercore |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} </pre> [[Category:Infobox templates]]</noinclude> 791879a51670633a3eefb76a3bfbf96c1fdcf8d4 730 729 2024-03-02T14:55:19Z Lukkram 396381 wikitext text/x-wiki <includeonly> <infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <group collapse="closed"> <header>Properties</header> <group row-items="2"> <data source="weight"> <label>Weight</label> </data> <data source="size"> <label>Size</label> </data> <data source="hp"> <label>HP</label> </data> <data source="aero"> <label>Aero</label> </data> </group> <data source="other"> <label>Other</label> </data> </group> <data source="about"> <label>About</label> </data> </infobox> </includeonly> <noinclude> Usage: This template is for making Infoboxes for blocks that don't have a power core cost. To use it, simply copy and paste the snippet below and fill in the fields (empty fields will not be rendered). If you want to use multiple like in [[Achievements]], just add <nowiki>{{Flexstart|inline}}</nowiki> before and <nowiki>{{Flexend}}</nowiki> after the snippet. <pre> {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} </pre> [[Category:Infobox templates]]</noinclude> 2f9bba4a522a6eb2d8717bdc02648da41491697b Blocks 0 6 733 37 2024-03-05T16:39:41Z Moto28 432060 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels (or landing gear) can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle, although, aerodynamically? not the best. keep the speed to the lighter, smaller wheels . ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === [[Lights]] === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === Lift and Drag Blocks === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === Tube Blocks === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === Balance Blocks === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === Gadgets === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] [[Category:Balance Blocks]] [[Category:Inflatable Balloon]] 9cf3859b8f8c21af83cc71ce7073f3bdee7dc3dc 734 733 2024-03-05T16:43:10Z Moto28 432060 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels (or landing gear) can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle, although, aerodynamically? not the best. keep the speed to the lighter, smaller wheels . ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === [[Weapons]] === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === [[Lift and Drag Blocks]] === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === [[Tube Blocks]] === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === [[Balance Blocks]] === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === [[Gadgets]] === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] e2c3429be8c722f2daeebb488355429c9501f659 Frame Blocks 0 19 735 101 2024-03-05T16:53:25Z Moto28 432060 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Extras= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- | colspan="3" | |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | colspan="3" | |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- | colspan="3" | |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- | colspan="3" | |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] b1304674fd86c6b3c6081ce91af6833fc352a65b 736 735 2024-03-05T16:59:49Z Moto28 432060 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= <br> {{Flexstart|inline}} {{PIblock |title= Block 1x2 |image= |caption= |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x3 |image= |caption= |weight= 0.9kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x4 |image= |caption= |weight= 1.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x4 |image= |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x2x2 |image= |caption= |weight= 2.5kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 4x8 |image= |caption= |weight= 10kg |size= 4x8x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Extras= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- | colspan="3" | |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | colspan="3" | |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- | colspan="3" | |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- | colspan="3" | |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] 4d59fc15dfc88f48e1b33abefd021da2b663f3be 737 736 2024-03-05T17:01:56Z Moto28 432060 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= <br> {{Flexstart|inline}} {{PIblock |title= Block 1x2 |image= |caption= |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x3 |image= |caption= |weight= 0.9kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x4 |image= |caption= |weight= 1.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x4 |image= |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x2x2 |image= |caption= |weight= 2.5kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 4x8 |image= |caption= |weight= 10kg |size= 4x8x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= <br> {{Flexstart|inline}} {{PIblock |title= Grid Block 1x2 |image= |caption= |weight= 0.3kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Grid Block 1x4 |image= |caption= |weight= 0.6kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Extras= <br> {{Flexstart|inline}} {{PIblock |title= |image= |caption= |weight= |size= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> === 1. Blocks === "Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides === 2. Grid Blocks === "A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks. === 3. Connectors === "Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts. === 4. Shield === "Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look. ===5. Extras=== The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC). {| class="fandom-table" |+Frame Blocks !Name !Size !Weight |- |Block 1x2 |1x2x2 |0.6 kg |- |Block 1x3 |1x3x1 |0.9 kg |- |Block 1x4 |1x4x1 |1.2kg |- |Block 2x4 |2x4x1 |2.5 kg |- |Block 2x2x2 |2x2x2 |2.5 kg |- |Block 4x8 |4x8x1 |10 kg |- | colspan="3" | |- |Grid Block 1x2 |1x2x1 |0.3 kg |- |Grid Block 1x4 |1x4x1 | 0.6 kg |- | colspan="3" | |- | Flat Connector 1x2 |1x2x1* |0.1 kg |- |Flat Connector 1x3 |1x3x1* |0.2 kg |- |Flat Connector 1x4 |1x4x1* |0.2 kg |- | colspan="3" | |- |Shield 2x1 |2x1x1* |0.6 kg |- |Shield 2x2 |2x2x1* |1.2 kg |- |Shield 2x4 |2x4x1* |2.5 kg |- | colspan="3" | |- |Small Porthole |1x2x1 |1.2 Kg |- |Large Porthole |4x4x3 |5 kg |- |Airplane Window |2x2x1 |1.1 kg |- |Mast |2x8x2 |5 kg |} [[File:All Frame Blocks Image.jpg|frameless|992x992px]] b48d7f18cdb6ac5c791a4d5fe84c59422f0c9878 738 737 2024-03-05T17:19:32Z Moto28 432060 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= '''"Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides''' <br> {{Flexstart|inline}} {{PIblock |title= Block 1x2 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x3 |image= SA_01.png |caption= |weight= 0.9kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x4 |image= SA_01.png |caption= |weight= 1.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x2x2 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 4x8 |image= SA_01.png |caption= |weight= 10kg |size= 4x8x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= '''"A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks.''' <br> {{Flexstart|inline}} {{PIblock |title= Grid Block 1x2 |image= SA_01.png |caption= |weight= 0.3kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Grid Block 1x4 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= '''"Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts.''' <br> {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x2 |image= SA_01.png |caption= |weight= 0.1kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x3 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x4 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= '''"Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look.''' <br> {{Flexstart|inline}} {{PIblock |title= Shield 2x1 |image= SA_01.png |caption= |weight= 0.6kg |size= 2x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x2 |image= SA_01.png |caption= |weight= 1.2kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Extras= '''The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC).''' <br> {{Flexstart|inline}} {{PIblock |title= Small Porthole |image= SA_01.png |caption= |weight= 1.2kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Porthole |image= SA_01.png |caption= |weight= 5kg |size= 4x4x3 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Airplane Window |image= SA_01.png |caption= |weight= 1.1kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Mast |image= SA_01.png |caption= |weight= 5kg |size= 2x8x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> [[File:All Frame Blocks Image.jpg|frameless|992x992px]] 8a7aeeeecb0b61a1a0574966802e7df4ef063abf Frame Blocks 0 19 739 738 2024-03-05T17:20:07Z Moto28 432060 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= '''"Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides''' <br> {{Flexstart|inline}} {{PIblock |title= Block 1x2 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x3 |image= SA_01.png |caption= |weight= 0.9kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x4 |image= SA_01.png |caption= |weight= 1.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x2x2 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 4x8 |image= SA_01.png |caption= |weight= 10kg |size= 4x8x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= '''"A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks.''' <br> {{Flexstart|inline}} {{PIblock |title= Grid Block 1x2 |image= SA_01.png |caption= |weight= 0.3kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Grid Block 1x4 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= '''"Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts.''' <br> {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x2 |image= SA_01.png |caption= |weight= 0.1kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x3 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x4 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= '''"Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look.''' <br> {{Flexstart|inline}} {{PIblock |title= Shield 2x1 |image= SA_01.png |caption= |weight= 0.6kg |size= 2x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x2 |image= SA_01.png |caption= |weight= 1.2kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Extras= '''The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC).''' <br> {{Flexstart|inline}} {{PIblock |title= Small Porthole |image= SA_01.png |caption= |weight= 1.2kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Porthole |image= SA_01.png |caption= |weight= 5kg |size= 4x4x3 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Airplane Window |image= SA_01.png |caption= |weight= 1.1kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Mast |image= SA_01.png |caption= |weight= 5kg |size= 2x8x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> bf1166792d917cbe5d77105df694b5251c31991e Blocks 0 6 740 734 2024-03-05T17:26:16Z Moto28 432060 wikitext text/x-wiki {{Stub}} '''Blocks''' are the main materials in [[Trailmakers]]. Made from physical building blocks, each block has unique features like shape, weight and functionality. They can be broken off, refitted and used to build something new. Individually the blocks are fairly simple, but combined the possibilities are endless. ==Block types== === [[Seats]] === Blocks you can sit in to control your vehicle === [[Frame Blocks]] === The main structural building blocks for your vehicles. These will make up the structure of your build, being both internal and external, aesthetics and frame. Be careful with placement, you don’t want to use too many and reach the complexity limit, or make it so there is a random 1x1 hole that cannot be fixed easily ===[[Propulsion Blocks]]=== This type of block provides power or thrust to your vehicle. Some types of propulsion blocks include: *[[Engine Blocks]], which can give power to a land-based vehicle, such as Bulldawg engine, RAW engine and Dragon engine, ranging from low power, to higher power, with certain engines being heavier than others, and having different acceleration speeds. *[[Hover Blocks]], which are blocks like the hover pad, which allows you to float at a specified distance above the ground, and can be used upside down to become a wall-rider. (It can also be used in glitches) *[[Thruster Blocks]], blocks such as Mini-thruster, RAW thruster, Dragon engine, and more with the 1.6 update, these allow propulsion on land and air, only being stopped by the sea, in which most propulsion blocks, other than underwater-centred blocks still work. *[[Propeller blocks|Propeller Blocks]], which some of them are Propellors, Underwater propellers, Heli engine V1 and V2 (stackable/non-stackable), which all have their own functions. In some game modes the amount of engine blocks that may be placed on your vehicle are limited by the number of [[power cores]] you have available. You can also limit these power cores in sandbox game modes from a range of 1-30, or not at all, same goes with complexity, being a range of 1(?)-700. === [[Wheels]] === Wheels are used to help your vehicles move better on the ground. These can come in many shapes and sizes. Some may be only 3x3, while some may be 7x7, some are thin, some are thick, and they all have different grip on different terrains. Go kart wheels or slim wheels (or landing gear) can be used on planes due to their small size or lightweightdness, while truck wheels or monster truck wheels can be used on grip-focussed vehicles, and may help making a multipurpose vehicle, although, aerodynamically? not the best. keep the speed to the lighter, smaller wheels . ===[[Mechanical Blocks]]=== Mechanical Blocks can move to give functionality to a vehicle. These can be used in simple ways, such as decreasing weight when needed, moving wheels left and right, adding suspension to a vehicle, or can be used in a more complex way. They aren’t limited to just that though, they can be used to make complex mechanical arms, make well-made battlebots that may dominate every battle, or even just combining them with logic, and allowing extreme contraptions to be made that can confuse new and old members of the game. ===[[Aerodynamic Blocks]]=== Aerodynamic Blocks allow air to pass around them more easily, resulting in higher top speeds. These can be used as aesthetics to make the build more slick, using wedges to make builds look cleaner, or to make them more aerodynamic, or both. There’s multiple types, like wedges (1x2 and 2x1 to 1x4 and 4x4), rounded (1x2, 2x4x2, etc), and corner (2x2x2, 2x1x2, 3x1x3, 4x1x4 and inverted corners for those). If you think you cannot fit a wedge into your build, or cannot fit a type of aerodynamic block into your build, you probably can by moving blocks around. === [[Weapons]] === Lights are used to illuminate your vehicles. They can also be used to decorate parts of a vehicle to make them look more dramatic, or to give off the effect of an ominous presence, or some form of higher being if used correctly. There are only 4 designated light blocks that aren’t accessories, and they’re headlight V1 and 2, one being a bottom attack point, the other being directly on top of the connection point, same goes with twilight V1 and 2. === [[Lift and Drag Blocks]] === Lift and Drag Blocks help lift your vehicles up, or push them down. This is how you make planes, and how you can also make things glide in the air. There are powered and unpowered aerodynamic blocks for small, simple and normal tailfins, small tailfin are 2x2x1, making them easy to place, but may not be as great to use as the simple tailfin, which may be 4x4x5, and the normal tailfin. The normal tailfin is the only tailfin to have a 2x2 attachment point on top of it, allowing it to have extra blocks attached onto it. It is 4x4x2, which is the widest out of all 3. The powered tailfins are more aerodynamic, but require a power core each, while the unpowered aren’t as efficient in air, but are effective for saving power cores. Wings come in 2 forms, small and large modular, one taking 2x1x4, the other taking 4x1x4, but each one being better in their own situation. The smaller isn’t as effective in air, but can be used to carry smaller planes into the sky with propulsion. Larger ones are meant for heavier and larger aircraft. Neither have a powered version. The 1.6 update brought more forms of wings, but their best experiences to figure out what they do === [[Tube Blocks]] === Tube Blocks provide a modular system of tubes to use in your vehicles. Many people normally skip over these blocks, thinking of them as worse looking frame blocks, and ignoring them. They hold a secret block a surprising amount of people don’t know about. The only 1x1x1 block to exist in Trailmakers (to my knowledge), that has all 6 connection points as well, and uses no mods at all, meaning it’s completely vanilla. === [[Balance Blocks]] === Balance blocks can make your vehicle heavy, balance it out, or make it buoyant. When first looking at these, you may only use the buoyancy blocks or pontoons, but the weight blocks are life changers, or even life savers depending on the situation. A build that may flip over every turn can suddenly becomes heavyweight vehicle that can push around tanks at its will (if placed at the bottom of the vehicle) The buoyancy blocks allow you to just float on water, and using the actual buoyancy block, you can change between being a submarine and being a boat. === [[Gadgets]] === Gadgets are various gadgets and combat equipment for your vehicles. This is where you now make a choice. Do you use the guns to make the worst possible vehicles, or do you use everything efficiently and possible make the best vehicle to exist? There’s many guns, but many counters to it. This includes fighting with fire, and being a complete tank build with much armour. With 1.6, the airborne update brought a free targeting system, which helps with aiming, which can be turned off, or weakened, when wanted ===[[Logic Blocks]] === Logic Blocks provide output when certain logical conditions are met. Some may require little-to-no skill or knowledge, such as the Altitude logic block, or Distance logic block, or the Angle logic block, but AND, OR, XOR and similar logic gates are complex, and can only be successfully used by those confident in the field of computer science and logic gates. Be wary what you get yourself into, Trailmakers [[Category:Trailmakers]] 178d0598bc1c22e89fc4334c2ad8e433fca3fa83 Seats 0 179 741 2024-03-05T17:54:58Z Moto28 432060 Created page with "== Overview == "Blocks you can sit in to control your vehicle." {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Seat |image= SA_01.png |caption= "Vehicle seat with fortified roll cage." |weight= 31.8kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= VIP Seat |image=..." wikitext text/x-wiki == Overview == "Blocks you can sit in to control your vehicle." {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Seat |image= SA_01.png |caption= "Vehicle seat with fortified roll cage." |weight= 31.8kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= VIP Seat |image= SA_01.png |caption= "A special seat for a VIP -You!" |weight= 32kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Armoured Seat |image= SA_01.png |caption= "A seat that is highly resistant to impact damage. Offers high protection from explosives" |weight= 50kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cockpit |image= SA_01.png |caption= "An aerodynamic flight seat." |weight= 25kg |size= 2x5x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Space Fighter Cockpit |image= SA_01.png |caption= "A slick seat for your spaceship." |weight= 25kg |size= 2x6x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Cockpit |image= SA_01.png |caption= "A large aerodynamic flight seat." |weight= 50kg |size= 4x6x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spaceship Cockpit |image= SA_01.png |caption= "To infinity and beyond!" |weight= 50kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Go-Kart Seat |image= SA_01.png |caption= "A light seat that provides very little protection." |weight= 17.5kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= OperatorSeat |image= SA_01.png |caption= "Upright seat with stick controls for the pilot." |weight= 30kg |size= 2x3x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Diving Bell |image= SA_01.png |caption= "An underwater seat for submersible vehicles." |weight= 30kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Motorcycle Seat |image= SA_01.png |caption= "A seat for a motorcycle." |weight= 17.5kg |size= 3x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Ship's Wheel |image= SA_01.png |caption= "Used to steer a ship." |weight= 30kg |size= 4x2x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Crow's Nest |image= SA_01.png |caption= "Used to steer a ship from high up in the mast." |weight= 30kg |size= 4x4x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Chirpo Passenger Seat |image= SA_01.png |caption= "Fits a single Chirpo passenger." |weight= 10kg |size= 2x2x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> d5b20b9c07b32e839b57340a7c6ddf0878d35c66 785 741 2024-03-07T20:25:06Z Lukkram 396381 wikitext text/x-wiki == Overview == "Blocks you can sit in to control your vehicle." {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Seat |image= SA_01.png |caption= "Vehicle seat with fortified roll cage." |weight= 31.7666 kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= VIP Seat |image= SA_01.png |caption= "A special seat for a VIP -You!" |weight= 32kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Armoured Seat |image= SA_01.png |caption= "A seat that is highly resistant to impact damage. Offers high protection from explosives" |weight= 50kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cockpit |image= SA_01.png |caption= "An aerodynamic flight seat." |weight= 25kg |size= 2x5x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Space Fighter Cockpit |image= SA_01.png |caption= "A slick seat for your spaceship." |weight= 25kg |size= 2x6x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Cockpit |image= SA_01.png |caption= "A large aerodynamic flight seat." |weight= 50kg |size= 4x6x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spaceship Cockpit |image= SA_01.png |caption= "To infinity and beyond!" |weight= 50kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Go-Kart Seat |image= SA_01.png |caption= "A light seat that provides very little protection." |weight= 17.5kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= OperatorSeat |image= SA_01.png |caption= "Upright seat with stick controls for the pilot." |weight= 30kg |size= 2x3x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Diving Bell |image= SA_01.png |caption= "An underwater seat for submersible vehicles." |weight= 30kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Motorcycle Seat |image= SA_01.png |caption= "A seat for a motorcycle." |weight= 17.5kg |size= 3x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Ship's Wheel |image= SA_01.png |caption= "Used to steer a ship." |weight= 30kg |size= 4x2x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Crow's Nest |image= SA_01.png |caption= "Used to steer a ship from high up in the mast." |weight= 30kg |size= 4x4x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Chirpo Passenger Seat |image= SA_01.png |caption= "Fits a single Chirpo passenger." |weight= 10kg |size= 2x2x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> d8cc4827e5f15c81be449897a2358e80cbd06e3c 786 785 2024-03-07T20:45:26Z Lukkram 396381 wikitext text/x-wiki == Overview == "Blocks you can sit in to control your vehicle." {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Seat |image= SA_01.png |caption= "Vehicle seat with fortified roll cage." |weight= 31.7666 kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= VIP Seat |image= SA_01.png |caption= "A special seat for a VIP -You!" |weight= 32.0166 kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Armoured Seat |image= SA_01.png |caption= "A seat that is highly resistant to impact damage. Offers high protection from explosives" |weight= 50 kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cockpit |image= SA_01.png |caption= "An aerodynamic flight seat." |weight= 25 kg |size= 2x5x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Space Fighter Cockpit |image= SA_01.png |caption= "A slick seat for your spaceship." |weight= 25 kg |size= 2x6x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Cockpit |image= SA_01.png |caption= "A large aerodynamic flight seat." |weight= 50 kg |size= 4x6x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spaceship Cockpit |image= SA_01.png |caption= "To infinity and beyond!" |weight= 50 kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Go-Kart Seat |image= SA_01.png |caption= "A light seat that provides very little protection." |weight= 17.5 kg |size= 2x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= OperatorSeat |image= SA_01.png |caption= "Upright seat with stick controls for the pilot." |weight= 30 kg |size= 2x3x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Diving Bell |image= SA_01.png |caption= "An underwater seat for submersible vehicles." |weight= 30 kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Motorcycle Seat |image= SA_01.png |caption= "A seat for a motorcycle." |weight= 17.5 kg |size= 3x4x3 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Ship's Wheel |image= SA_01.png |caption= "Used to steer a ship." |weight= 30 kg |size= 4x2x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Crow's Nest |image= SA_01.png |caption= "Used to steer a ship from high up in the mast." |weight= 30 kg |size= 4x4x5 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Chirpo Passenger Seat |image= SA_01.png |caption= "Fits a single Chirpo passenger." |weight= 10 kg |size= 2x2x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> f09dfc86e190f9739e9b0611c5bf0ebf4678829b Wheels 0 50 742 345 2024-03-05T18:26:17Z Moto28 432060 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless the engine is above water. {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Offroad Wheel |image= SA_01.png |caption= "Slightly better traction on rough terrain than on tarmac." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= The starter wheels in the campaign. They are a medium sized wheel with solid performance on grass/sand/etc. However, they will struggle in mud. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Racing Wheel |image= SA_01.png |caption= "Better grip on tarmac than rough terrain." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= A medium sized wheel that performs particularly well when on tarmac but entirely fails offroad. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Monster Truck Wheel |image= SA_01.png |caption= "Large and heavy wheel with good overall grip." |weight= 25kg |size= 4x6x6 |hp= |aero= |other= |about= The largest of all wheels and by far the heaviest. The best wheel in terms of control in mud and offroad terrain, however, it is offset by the fact it will immensely slow a vehicle down due to the weight, friction, and poor aerodynamics. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Go-kart Wheel |image= SA_01.png |caption= "Small wheel with better grip on tarmac than rough terrain." |weight= 2kg |size= 1x3x3 |hp= |aero= |other= |about= One of the lightest wheels. Almost no traction on anything other than tarmac. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Slim Wheel |image= SA_01.png |caption= "Relatively poor grip and speed, but very light weight." |weight= 1.5kg |size= 1x3x3 |hp= |aero= |other= |about= A medium sized and thin wheel with atrociously bad control, especially in offroad terrain. Despite its description, it is by far the fastest wheel due to its light weight, aerodynamics, and lack of friction, making it excellent for vehicles that don't need to turn much on the ground (such as drag racers or planes that require runways). }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Drag Racing Wheel |image= SA_01.png |caption= "Large wheel with better grip on tarmac than rough terrain." |weight= 20kg |size= 4x5x5 |hp= |aero= |other= |about= An enormous wheel that's size is only surpassed by the Monster Truck Wheel. It has the best grip of all wheels on paved surfaces and thus does not easily come off the ground or lose control when turning on its intended surface. Despite its name, in terms of speed it's terrible, as it will slow a vehicle down due to the heavy weight and friction. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Truck Wheel |image= SA_01.png |caption= "Large wheel with good overall grip." |weight= 15kg |size= 2x5x5 |hp= |aero= |other= |about= A large wheel that performs well on offroad terrain. Not nearly as large or heavy as the Monster Truck Wheel and thus, will not slow a vehicle down as much. While it performs better than most wheels in the mud, it will still suffer from some lack of control. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spiked Wheel |image= SA_01.png |caption= "Good grip on rough terrain." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= A medium sized wheel with spikes embedded into it. Has excellent grip in offroad terrain, keeping lighter vehicles grounded when driving offroad while only suffering a slight loss in speed compared to the offroad wheels. However, they still perform poorly in mud. An excellent replacement for the offroad wheels if you favor control over speed. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Motorcycle Wheel |image= SA_01.png |caption= "A rad wheel for your hog. Average grip on all surfaces." |weight= 7.5kg |size= 1x3x3 |hp= |aero= |other= |about= A medium sized thin wheel with decent control. A very fast wheel that, unlike the Slim Wheel, has some measure of control. In comparison to dedicated offroad/tarmac wheels however, it's flighty and can easily lose control when turning. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Landing Wheels |image= SA_01.png |caption= "A pair of landing wheels to fit under an airplane." |weight= 7.5kg |size= 2x2x3 |hp= |aero= |other= |about= Simplest wheel to put underneath a vehicle as it has mounting points on the top. Average grip on all surfaces with slightly better grip on tarmac. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Ski |image= SA_01.png |caption= "For gliding." |weight= 0.2kg |size= 1x4x1 |hp= |aero= |other= |about= Not technically a wheel, but still placed under the category. It very easily slides across the ground. Unlike tires, it does not make use of an engine nor does it rotate, and so it requires another form of propulsion (such as a thruster) in order to make use of it. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Hover Block |image= SA_01.png |caption= "Lift engine that generates an air cushion under your vehicle." |weight= 14.1kg |size= 4x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Friction Pad |image= SA_01.png |caption= "A pad with very high friction." |weight= 0.5kg |size= 1x1x1 |hp= |aero= |other= |about= A block where one side is a rubber like bump that provides a ton of friction. }} {{Flexend}} <!-- ==================================================================================================================================== --> <br /> 7b4965f5bfc82a7291199bc1210a0881c1e176f1 743 742 2024-03-05T18:30:47Z Moto28 432060 wikitext text/x-wiki '''Wheels''' are blocks in ''[[Trailmakers]]''. They are used to make something move better on the ground. Wheels are rounded objects even tho, they have an square hitbox in build mode. Wheels can be un-powered so they will roll freely, or you can link an '''Engine''' to them to power them. You can also use wheels above and underwater, but engines wont be able to spin them unless the engine is above water. {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Offroad Wheel |image= SA_01.png |caption= "Slightly better traction on rough terrain than on tarmac." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= The starter wheels in the campaign. They are a medium sized wheel with solid performance on grass/sand/etc. However, they will struggle in mud. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Racing Wheel |image= SA_01.png |caption= "Better grip on tarmac than rough terrain." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= A medium sized wheel that performs particularly well when on tarmac but entirely fails offroad. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Monster Truck Wheel |image= SA_01.png |caption= "Large and heavy wheel with good overall grip." |weight= 25kg |size= 4x6x6 |hp= |aero= |other= |about= The largest of all wheels and by far the heaviest. The best wheel in terms of control in mud and offroad terrain, however, it is offset by the fact it will immensely slow a vehicle down due to the weight, friction, and poor aerodynamics. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Go-kart Wheel |image= SA_01.png |caption= "Small wheel with better grip on tarmac than rough terrain." |weight= 2kg |size= 1x3x3 |hp= |aero= |other= |about= One of the lightest wheels. Almost no traction on anything other than tarmac. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Slim Wheel |image= SA_01.png |caption= "Relatively poor grip and speed, but very light weight." |weight= 1.5kg |size= 1x3x3 |hp= |aero= |other= |about= A medium sized and thin wheel with atrociously bad control, especially in offroad terrain. Despite its description, it is by far the fastest wheel due to its light weight, aerodynamics, and lack of friction, making it excellent for vehicles that don't need to turn much on the ground (such as drag racers or planes that require runways). }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Drag Racing Wheel |image= SA_01.png |caption= "Large wheel with better grip on tarmac than rough terrain." |weight= 20kg |size= 4x5x5 |hp= |aero= |other= |about= An enormous wheel that's size is only surpassed by the Monster Truck Wheel. It has the best grip of all wheels on paved surfaces and thus does not easily come off the ground or lose control when turning on its intended surface. Despite its name, in terms of speed it's terrible, as it will slow a vehicle down due to the heavy weight and friction. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Truck Wheel |image= SA_01.png |caption= "Large wheel with good overall grip." |weight= 15kg |size= 2x5x5 |hp= |aero= |other= |about= A large wheel that performs well on offroad terrain. Not nearly as large or heavy as the Monster Truck Wheel and thus, will not slow a vehicle down as much. While it performs better than most wheels in the mud, it will still suffer from some lack of control. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spiked Wheel |image= SA_01.png |caption= "Good grip on rough terrain." |weight= 10kg |size= 2x3x3 |hp= |aero= |other= |about= A medium sized wheel with spikes embedded into it. Has excellent grip in offroad terrain, keeping lighter vehicles grounded when driving offroad while only suffering a slight loss in speed compared to the offroad wheels. However, they still perform poorly in mud. An excellent replacement for the offroad wheels if you favor control over speed. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Motorcycle Wheel |image= SA_01.png |caption= "A rad wheel for your hog. Average grip on all surfaces." |weight= 7.5kg |size= 1x3x3 |hp= |aero= |other= |about= A medium sized thin wheel with decent control. A very fast wheel that, unlike the Slim Wheel, has some measure of control. In comparison to dedicated offroad/tarmac wheels however, it's flighty and can easily lose control when turning. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Landing Wheels |image= SA_01.png |caption= "A pair of landing wheels to fit under an airplane." |weight= 7.5kg |size= 2x2x3 |hp= |aero= |other= |about= Simplest wheel to put underneath a vehicle as it has mounting points on the top. Average grip on all surfaces with slightly better grip on tarmac. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Ski |image= SA_01.png |caption= "For gliding." |weight= 0.2kg |size= 1x4x1 |hp= |aero= |other= |about= Not technically a wheel, but still placed under the category. It very easily slides across the ground. Unlike tires, it does not make use of an engine nor does it rotate, and so it requires another form of propulsion (such as a thruster) in order to make use of it. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Hover Block |image= SA_01.png |caption= "Lift engine that generates an air cushion under your vehicle." |weight= 14.1kg |size= 4x4x1 |hp= |aero= |other= |about= Can float vehicle on water , when it moves very fast. }} {{Flexend}} <!-- ==================================================================================================================================== --> {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Friction Pad |image= SA_01.png |caption= "A pad with very high friction." |weight= 0.5kg |size= 1x1x1 |hp= |aero= |other= |about= A block where one side is a rubber like bump that provides a ton of friction. }} {{Flexend}} <!-- ==================================================================================================================================== --> <br /> 22e0c457ced7a176f562f543d17df700fe41e22f Propulsion Blocks 0 33 744 217 2024-03-05T19:26:45Z Moto28 432060 wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. They can be split into the following categories: <tabber> |-|Engine Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Bulldawg Engine |image= SA_01.png |caption= "High acceleration. Low top speed." |weight= 9.4kg |size= 2x2x1 |power= 333 |dmg= |hp= |aero= |other= PC 1 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= RAW Engine |image= SA_01.png |caption= "Low acceleration. High top speed." |weight= 59.6kg |size= 2x4x3 |power= 1700 |dmg= |hp= |aero= |other= PC 2 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dragon Engine |image= SA_01.png |caption= "High acceleration. High top speed." |weight= 25kg |size= 2x2x2 |power= 3333 |dmg= |hp= |aero= |other= PC 3 |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Thruster Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Rocket Thruster |image= SA_01.png |caption= "A tiny and cheap jet engine with low thrust." |weight= 9.8kg |size= 1x2x1 |power= 60 |dmg= |hp= |aero= |other= PC 1 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Thruster |image= SA_01.png |caption= "A small and cheap jet engine with low thrust." |weight= 9.8kg |size= 1x2x2 |power= 80 |dmg= |hp= |aero= |other= PC 1 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= RAW Jet |image= SA_01.png |caption= "A very powerful jet engine with a cooldown." |weight= 53.1kg |size= 2x5x2 |power= 750 |dmg= |hp= |aero= |other= PC 2 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dragon Jet |image= SA_01.png |caption= "A powerful jet engine that does not overheat." |weight= 30kg |size= 2x3x2 |power= 300 |dmg= |hp= |aero= |other= PC 3 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Jet |image= SA_01.png |caption= "A big and powerful jet engine fit for an airliner." |weight= 40kg |size= 4x8x5 |power= 800 |dmg= |hp= |aero= |other= PC 4 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Space Thruster |image= SA_01.png |caption= "A powerful thruster fit for a spaceship." |weight= 15kg |size= 1x2x2 |power= 250 |dmg= |hp= |aero= |other= PC 3 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Rocket Engine |image= SA_01.png |caption= "A rocket engine with a lot of power." |weight= 100kg |size= 4x7x4 |power= 1800 |dmg= |hp= |aero= |other= PC 20 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gimbal Jet |image= SA_01.png |caption= "A jet that always fires downwards." |weight= 9.4kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= PC 1 |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Propeller Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Propeller |image= SA_01.png |caption= "Provides propulsive power." |weight= 12.5kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= PC 2 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Propeller |image= SA_01.png |caption= "Provides a lot of propulsive power." |weight= 25kg |size= 2x2x2 |power= |dmg= |hp= |aero= |other= PC 3 |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Water Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Outboard Boat Engine |image= SA_01.png |caption= "Provides propulsion in water." |weight= 12.5kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= PC 2 |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Underwater Propeller |image= SA_01.png |caption= "Provides propulsion in water." |weight= 12.5kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= PC 1 |about= }} {{Flexend}} </tabber> * [[Engine Blocks]] * [[Hover Blocks]] * [[Thruster Blocks]] * [[Propeller Blocks]] 900de83af7206c4f37d7450436565e7b72f51f99 746 744 2024-03-05T20:41:07Z Moto28 432060 wikitext text/x-wiki Propulsion Blocks are [[blocks]] that moves your vehicle. They can be split into the following categories: <tabber> |-|Engine Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Bulldawg Engine |image= SA_01.png |caption= "High acceleration. Low top speed." |powercores= 1 |weight= 9.4kg |size= 2x2x1 |power= 333 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= RAW Engine |image= SA_01.png |caption= "Low acceleration. High top speed." |powercores= 2 |weight= 59.6kg |size= 2x4x3 |power= 1700 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dragon Engine |image= SA_01.png |caption= "High acceleration. High top speed." |powercores= 3 |weight= 25kg |size= 2x2x2 |power= 3333 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Thruster Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Rocket Thruster |image= SA_01.png |caption= "A tiny and cheap jet engine with low thrust." |powercores= 1 |weight= 9.8kg |size= 1x2x1 |power= 60 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Thruster |image= SA_01.png |caption= "A small and cheap jet engine with low thrust." |powercores= 1 |weight= 9.8kg |size= 1x2x2 |power= 80 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= RAW Jet |image= SA_01.png |caption= "A very powerful jet engine with a cooldown." |powercores= 2 |weight= 53.1kg |size= 2x5x2 |power= 750 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dragon Jet |image= SA_01.png |caption= "A powerful jet engine that does not overheat." |powercores= 3 |weight= 30kg |size= 2x3x2 |power= 300 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Jet |image= SA_01.png |caption= "A big and powerful jet engine fit for an airliner." |powercores= 4 |weight= 40kg |size= 4x8x5 |power= 800 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Space Thruster |image= SA_01.png |caption= "A powerful thruster fit for a spaceship." |powercores= 3 |weight= 15kg |size= 1x2x2 |power= 250 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Rocket Engine |image= SA_01.png |caption= "A rocket engine with a lot of power." |powercores= 20 |weight= 100kg |size= 4x7x4 |power= 1800 |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gimbal Jet |image= SA_01.png |caption= "A jet that always fires downwards." |powercores= 1 |weight= 9.4kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Propeller Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Propeller |image= SA_01.png |caption= "Provides propulsive power." |powercores= 2 |weight= 12.5kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Propeller |image= SA_01.png |caption= "Provides a lot of propulsive power." |powercores= 3 |weight= 25kg |size= 2x2x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Water Blocks= <br> {{Flexstart|inline}} {{PIpowercore |title= Outboard Boat Engine |image= SA_01.png |caption= "Provides propulsion in water." |powercores= 2 |weight= 12.5kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Underwater Propeller |image= SA_01.png |caption= "Provides propulsion in water." |powercores= 1 |weight= 12.5kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} </tabber> * [[Engine Blocks]] * [[Hover Blocks]] * [[Thruster Blocks]] * [[Propeller Blocks]] 6ee9889d969596d7851709dc230b470df4cd38de Mechanical Blocks 0 28 745 176 2024-03-05T19:55:52Z Moto28 432060 wikitext text/x-wiki {{Stub}} == Overview == "Blocks with mechanical functions," Mechanical Blocks are blocks that move by the Logic Blocks, seat, or another Mechanical Block. <tabber> |-|Hinges= <br> {{Flexstart|inline}} {{PIblock |title= Steering Hinge |image= SA_01.png |caption= "Allows a limited angle of rotation perfect for wheels." |weight= 0.5kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Hinge |image= SA_01.png |caption= "Allows a limited angle of rotation perfect for wheels." |weight= 1.1kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Trailer Hinge |image= SA_01.png |caption= "Ball hinge with two attachment points." |weight= 5kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Suspension= <br> {{Flexstart|inline}} {{PIblock |title= Suspension Spring |image= SA_01.png |caption= "Absorbs shock to make your vehicle drive smoother on uneven surfaces." |weight= 0.5kg |size= 2x1x3 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Straight Suspension |image= SA_01.png |caption= "Absorbs shock to make your vehicle drive smoother on uneven surfaces." |weight= 0.5kg |size= 1x1x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rotators= <br> {{Flexstart|inline}} {{PIblock |title= Rotating Servo |image= SA_01.png |caption= "Block that can slowly rotate in each direction." |weight= 5kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Spinning Servo |image= SA_01.png |caption= "Block that can spin around quickly." |weight= 9.1kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Helicopter Engine |image= SA_01.png |caption= "Block that can spin around quickly." |powercores= 1 |weight= 5.6kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Stackable Helicopter Engine |image= SA_01.png |caption= "A helicopter engine with a static top and bottom." |powercores= 1 |weight= 5.6kg |size= 2x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Other= <br> {{Flexstart|inline}} {{PIblock |title= Piston |image= SA_01.png |caption= "Extendable cylinder that moves back and forth." |weight= 6.4kg |size= 1x1x4 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Detachable Block |image= SA_01.png |caption= "Detaches the structure it is attached to." |weight= 1.6kg |size= 2x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gyro |image= SA_01.png |caption= "Adds rotational control and damping to your vehicle." |powercores= 1 |weight= 5.6kg |size= 1x2x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gyro Stabilizer |image= SA_01.png |caption= "Stabilizing gyro that slowly rotates your vehicle towards the up direction of the block." |powercores= 1 |weight= 5.6kg |size= 1x2x3 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} </tabber> da9d3d0e103f6511f00f06043cb7bbf203ff23ea Aerodynamic Blocks 0 12 747 55 2024-03-05T21:31:19Z Moto28 432060 wikitext text/x-wiki Aerodynamic Blocks are [[blocks]] that are very aerodynamic and good for designs because they allow air to flow past the vehicle and help achieving high speeds, as well as achieve interesting shapes. <tabber> |-|Wedges= <br> {{Flexstart|inline}} {{PIblock |title= Wedge 1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.3kg |size= 1x2x1 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.6kg |size= 2x1x2 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 1.2kg |size= 2x2x2 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x4x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 2.5kg |size= 2x4x2 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x1 |image= SA_01.png |caption= "A moderately aerodynamic block." |weight= 0.3kg |size= 2x1x1 |hp= |aero= Moderately |other= 26.6° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 3x1 |image= SA_01.png |caption= "A very aerodynamic block." |weight= 0.5kg |size= 3x1x1 |hp= |aero= Very |other= 18.4° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 4x1 |image= SA_01.png |caption= "An extremely aerodynamic block." |weight= 0.6kg |size= 4x1x1 |hp= |aero= Extremely |other= 14° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x2 |image= SA_01.png |caption= "A moderately aerodynamic block." |weight= 0.6kg |size= 2x2x1 |hp= |aero= Moderately |other= 26.6° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 2x4 |image= SA_01.png |caption= "A moderately aerodynamic block." |weight= 1.2kg |size= 2x4x1 |hp= |aero= Moderately |other= 26.6° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 3x4 |image= SA_01.png |caption= "A very aerodynamic block." |weight= 1.9kg |size= 3x1x1 |hp= |aero= Very |other= 18.4° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge 4x4 |image= SA_01.png |caption= "An extremely aerodynamic block." |weight= 2.5kg |size= 4x1x1 |hp= |aero= Extremely |other= 14° |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rounded= <br> {{Flexstart|inline}} {{PIblock |title= Rounded Corner 1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.4kg |size= 2x1x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded 2x1 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.6kg |size= 2x1x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded 2x4 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 2.2kg |size= 2x4x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded 2x1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.8kg |size= 2x1x2 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded 2x4x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 3.9kg |size= 2x4x2 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded Corner 2x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 1.2kg |size= 2x2x2 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded 1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.5kg |size= 1x2x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded Corner Inverted 1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.2kg |size= 1x2x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded Inverted 1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.3kg |size= 1x2x1 |hp= |aero= Fairly |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Corners= <br> {{Flexstart|inline}} {{PIblock |title= Wedge Corner 2x2x1 |image= SA_01.png |caption= "A moderately aerodynamic block." |weight= 0.2kg |size= 2x2x1 |hp= |aero= Moderately |other= 26.6° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge Corner 3x3x1 |image= SA_01.png |caption= "A very aerodynamic block." |weight= 0.5kg |size= 3x3x1 |hp= |aero= Very |other= 18.4° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge Corner 4x4x1 |image= SA_01.png |caption= "An extremely aerodynamic block." |weight= 0.8kg |size= 4x4x1 |hp= |aero= Extremely |other= 14° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Wedge Corner 2x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.4kg |size= 2x2x2 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Inverted Corner 1x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 1kg |size= 2x2x1 |hp= |aero= Fairly |other= 26.6° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Inverted Corner 1x3x3 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 2.4kg |size= 3x3x1 |hp= |aero= Fairly |other= 18.4° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Inverted Corner 1x4x4 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 4.2kg |size= 4x4x1 |hp= |aero= Fairly |other= 14° |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Inverted Corner 2x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 2.1kg |size= 2x2x2 |hp= |aero= Fairly |other= 45° |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 4e339b3042b31b6dfa11a8fdc6b3b37fc1b5a87c Weapons 0 151 748 585 2024-03-05T21:51:52Z Moto28 432060 wikitext text/x-wiki Page for Weapons. Information pending <tabber> |-|Cannons= <br> {{Flexstart|inline}} {{PIpowercore |title= Tiny Cannon |image= SA_01.png |caption= "Fires ballistic projectiles." |powercores= 1 |weight= 1kg |size= 1x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Tiny Blaster |image= SA_01.png |caption= "Fires powerful laser blasts." |powercores= 2 |weight= 7.5kg |size= 1x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Tank Cannon |image= SA_01.png |caption= "Fires high explosive projectiles." |powercores= 2 |weight= 4.9kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gunpowder Cannon |image= SA_01.png |caption= "Fires cannon balls." |powercores= 2 |weight= 4.3kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Smart Cannons= <br> {{Flexstart|inline}} {{PIpowercore |title= Smart Cannon |image= SA_01.png |caption= "Fires ballistic projectiles and auto aims at your target when in range." |powercores= 2 |weight= 2.9kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Blaster |image= SA_01.png |caption= "Fires powerful laser blasts and auto aims at your target when in range." |powercores= 4 |weight= 7.5kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Cannon |image= SA_01.png |caption= "Fires explosive projectiles and slowly auto aims at targets." |powercores= 3 |weight= 3.5kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Mini Gun |image= SA_01.png |caption= "Quickly fires many ballistic projectiles and slightly auto aims at your target when in range." |powercores= 4 |weight= 4.4kg |size= 2x6x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIpowercore |title= EMP Launcher |image= SA_01.png |caption= "Effective against energy shields. Chance to temporarily scramble functional blocks." |powercores= 4 |weight= 5.4kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Rocket Launcher |image= SA_01.png |caption= "Fires a slow moving explosive rocket. Auto aims at target when in range. Works best for static targets." |powercores= 4 |weight= 4.4kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Bomb Bay |image= SA_01.png |caption= "Drops a volley of bombs." |powercores= 2 |weight= 5.4kg |size= 1x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dynamite |image= SA_01.png |caption= "Highly explosive! Handle with care!" |powercores= 1 |weight= 3.1kg |size= 2x1x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 3adfe5531d3b8a8c69ec343cdfe1a911a09eb4ef 749 748 2024-03-05T21:54:26Z Moto28 432060 wikitext text/x-wiki Weapons are a type of block you use to destroy your targets, they require power cores to work and deal different types of damage. <tabber> |-|Cannons= <br> {{Flexstart|inline}} {{PIpowercore |title= Tiny Cannon |image= SA_01.png |caption= "Fires ballistic projectiles." |powercores= 1 |weight= 1kg |size= 1x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Tiny Blaster |image= SA_01.png |caption= "Fires powerful laser blasts." |powercores= 2 |weight= 7.5kg |size= 1x2x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Tank Cannon |image= SA_01.png |caption= "Fires high explosive projectiles." |powercores= 2 |weight= 4.9kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Gunpowder Cannon |image= SA_01.png |caption= "Fires cannon balls." |powercores= 2 |weight= 4.3kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Smart Cannons= <br> {{Flexstart|inline}} {{PIpowercore |title= Smart Cannon |image= SA_01.png |caption= "Fires ballistic projectiles and auto aims at your target when in range." |powercores= 2 |weight= 2.9kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Blaster |image= SA_01.png |caption= "Fires powerful laser blasts and auto aims at your target when in range." |powercores= 4 |weight= 7.5kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Large Cannon |image= SA_01.png |caption= "Fires explosive projectiles and slowly auto aims at targets." |powercores= 3 |weight= 3.5kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Mini Gun |image= SA_01.png |caption= "Quickly fires many ballistic projectiles and slightly auto aims at your target when in range." |powercores= 4 |weight= 4.4kg |size= 2x6x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIpowercore |title= EMP Launcher |image= SA_01.png |caption= "Effective against energy shields. Chance to temporarily scramble functional blocks." |powercores= 4 |weight= 5.4kg |size= 2x3x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Rocket Launcher |image= SA_01.png |caption= "Fires a slow moving explosive rocket. Auto aims at target when in range. Works best for static targets." |powercores= 4 |weight= 4.4kg |size= 2x4x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Bomb Bay |image= SA_01.png |caption= "Drops a volley of bombs." |powercores= 2 |weight= 5.4kg |size= 1x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dynamite |image= SA_01.png |caption= "Highly explosive! Handle with care!" |powercores= 1 |weight= 3.1kg |size= 2x1x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 2d237157769975466ed84ac003a76584e3546690 Balance Blocks 0 180 750 2024-03-05T22:14:59Z Moto28 432060 Created page with "Balance blocks Balance blocks!! <tabber> |-|Weights= <br> {{Flexstart|inline}} {{PIblock |title= Weight Block |image= SA_01.png |caption= "Makes your vehicle heavier." |weight= 30kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Heavy Weight Block |image= SA_01.png |caption= "Makes your vehicle heavier." |weight= 50kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- =============================================..." wikitext text/x-wiki Balance blocks Balance blocks!! <tabber> |-|Weights= <br> {{Flexstart|inline}} {{PIblock |title= Weight Block |image= SA_01.png |caption= "Makes your vehicle heavier." |weight= 30kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Heavy Weight Block |image= SA_01.png |caption= "Makes your vehicle heavier." |weight= 50kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Pontoons= <br> {{Flexstart|inline}} {{PIblock |title= Small Pontoon |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 1kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Medium Pontoon |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 3kg |size= 2x4x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Pontoon |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 12kg |size= 4x8x4 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Buoyancy Control Device |image= SA_01.png |caption= "Block with adjustable buoyancy." |weight= 3kg |size= 2x4x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Straight Hull Block |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 12kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Middle Hull Block |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 12kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Corner Hull Block |image= SA_01.png |caption= "Provides buoyancy in water." |weight= 12kg |size= 4x4x4 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Balloons= <br> {{Flexstart|inline}} {{PIblock |title= Party Balloon |image= SA_01.png |caption= "A small balloon with lift force." |weight= 0.2kg |size= 3x3x5 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Inflatable Balloon |image= SA_01.png |caption= "Balloon that can inflate and deflate." |weight= 2.5kg |size= 6x6x6 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 10cfc7dcac3dfd5cf6739c81da6b63cdfac72e84 Lift and Drag Blocks 0 181 751 2024-03-05T23:02:34Z Moto28 432060 Created page with "~Take to the skies~ <tabber> |-|Wings= <br> {{Flexstart|inline}} {{PIblock |title= Spoiler |image= SA_01.png |caption= "Provides downforce to make your vehicle stick to the ground." |weight= 0.1kg |size= 4x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Modular Wing |image= SA_01.png |caption= "Provides a small amount of lift." |weight= 1kg |size= 4x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |..." wikitext text/x-wiki ~Take to the skies~ <tabber> |-|Wings= <br> {{Flexstart|inline}} {{PIblock |title= Spoiler |image= SA_01.png |caption= "Provides downforce to make your vehicle stick to the ground." |weight= 0.1kg |size= 4x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Modular Wing |image= SA_01.png |caption= "Provides a small amount of lift." |weight= 1kg |size= 4x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Modular Wing |image= SA_01.png |caption= "Provides a large amount of lift." |weight= 1.5kg |size= 4x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Flap Wing |image= SA_01.png |caption= "Small wing with integrated flap." |weight= 1kg |size= 4x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flap Wing |image= SA_01.png |caption= "Wing with integrated flap." |weight= 1.5kg |size= 4x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Aileron |image= SA_01.png |caption= "End of the wing for adjusting roll." |weight= 0.8kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Aileron |image= SA_01.png |caption= "End of wing for adjusting roll" |weight= 1kg |size= 4x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Fins= <br> {{Flexstart|inline}} {{PIblock |title= Small Tailfin |image= SA_01.png |caption= "Provides aerodynamic drag and direction stability." |weight= 1.2kg |size= 1x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Simple Tailfin |image= SA_01.png |caption= "Provides aerodynamic drag and direction stability." |weight= 1.2kg |size= 1x5x3 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tailfin |image= SA_01.png |caption= "Provides aerodynamic drag and direction stability." |weight= 4.6kg |size= 2x4x4 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Powered Small Tailfin |image= SA_01.png |caption= "A tailfin with artificially enhanced drag." |powercores= 1 |weight= 1.2kg |size= 1x2x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Powered Simple Tailfin |image= SA_01.png |caption= "A tailfin with artificially enhanced drag." |powercores= 1 |weight= 3kg |size= 1x5x3 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Powered Tailfin |image= SA_01.png |caption= "A tailfin with artificially enhanced drag." |powercores= 1 |weight= 4.6kg |size= 2x4x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Elevator Fin |image= SA_01.png |caption= "Tail fin to control pitch on an airplane." |weight= 1kg |size= 3x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Big Elevator Fin |image= SA_01.png |caption= "Tail fin to control pitch on an airplane." |weight= 1kg |size= 5x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Elevator Tail |image= SA_01.png |caption= "Tail fins to control pitch on an airplane." |weight= 2kg |size= 10x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Quantum Rudder |image= SA_01.png |caption= "Rotates structure in direction of movement and allows steering, at the cost of speed." |powercores= 1 |weight= 10g |size= 2x3x1 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Blades and Paddles= <br> {{Flexstart|inline}} {{PIblock |title= Short Helicopter Blade |image= SA_01.png |caption= "Short blade for a helicopter." |weight= 1.9kg |size= 2x6x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Helicopter Blade |image= SA_01.png |caption= "Blade for a helicopter." |weight= 3.3kg |size= 2x8x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Long Helicopter Blade |image= SA_01.png |caption= "Long blade for a helicopter." |weight= 5.3kg |size= 2x16x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Oar |image= SA_01.png |caption= "Used to move water." |weight= 0.8kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Paddle |image= SA_01.png |caption= "Used to move water." |weight= 0.8g |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Paddle |image= SA_01.png |caption= "Used to move a lot of water." |weight= 2kg |size= 4x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Sails= <br> {{Flexstart|inline}} {{PIblock |title= Small Modular Rectangle Sail |image= SA_01.png |caption= "A modular sail for sailing a sailboat." |weight= 1.5kg |size= 1x6x9 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Big Modular Rectangle Sail |image= SA_01.png |caption= "A modular sail for sailing a sailboat." |weight= 1.5kg |size= 1x9x12 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Small Modular Triangle Sail |image= SA_01.png |caption= "A modular sail for sailing a sailboat." |weight= 1.5kg |size= 1x6x9 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Big Modular Triangle Sail |image= SA_01.png |caption= "A modular sail for sailing a sailboat." |weight= 1.5kg |size= 1x9x12 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tall Modular Triangle Sail |image= SA_01.png |caption= "A modular sail for sailing a sailboat." |weight= 1.5kg |size= 1x9x24 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 20f835201369c6c7c7159506829c5c8d826fb855 Tube Blocks 0 182 752 2024-03-05T23:21:57Z Moto28 432060 Created page with "Tubular Pipes <tabber> |-|Tubes= <br> {{Flexstart|inline}} {{PIblock |title= Tube 1x1 |image= SA_01.png |caption= "Modular tube system." |weight= 0.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube 1x3 |image= SA_01.png |caption= "Modular tube system." |weight= 1.5kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube 1x4 |image= SA_01.png |caption= "Modular tube system..." wikitext text/x-wiki Tubular Pipes <tabber> |-|Tubes= <br> {{Flexstart|inline}} {{PIblock |title= Tube 1x1 |image= SA_01.png |caption= "Modular tube system." |weight= 0.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube 1x3 |image= SA_01.png |caption= "Modular tube system." |weight= 1.5kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube 1x4 |image= SA_01.png |caption= "Modular tube system." |weight= 2.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube 1x8 |image= SA_01.png |caption= "Modular tube system." |weight= 4.5kg |size= 1x8x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Slope 1x1x2 |image= SA_01.png |caption= "Modular tube system." |weight= 0.9kg |size= 1x1x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Slope 2x1x2 |image= SA_01.png |caption= "Modular tube system." |weight= 1.9kg |size= 2x1x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Intersections= <br> {{Flexstart|inline}} {{PIblock |title= Tube Elbow |image= SA_01.png |caption= "Modular tube system." |weight= 0.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Double Elbow |image= SA_01.png |caption= "Modular tube system." |weight= 0.8kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Tee |image= SA_01.png |caption= "Modular tube system." |weight= 0.8kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Double Tee |image= SA_01.png |caption= "Modular tube system." |weight= 1kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Cross |image= SA_01.png |caption= "Modular tube system." |weight= 0.9kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Tee Cross |image= SA_01.png |caption= "Modular tube system." |weight= 1.2kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Tube Double Cross |image= SA_01.png |caption= "Modular tube system." |weight= 1.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Cones= <br> {{Flexstart|inline}} {{PIblock |title= Cone 2x2x1 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 1.2kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cone 2x2x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight=2.5g |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cone 1x1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.6kg |size= 1x1x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Cylinder 1x1x2 |image= SA_01.png |caption= "A fairly aerodynamic block." |weight= 0.6kg |size= 1x1x2 |hp= |aero= Fairly |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 9597c4851b72781273a64f046a5c819a7db38e99 Gadgets 0 183 753 2024-03-05T23:38:41Z Moto28 432060 Created page with "¡All the Gadgets! <tabber> |-|Lights= <br> {{Flexstart|inline}} {{PIblock |title= Headlamp |image= SA_01.png |caption= "Lights up the environment." |weight= 1.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Headlamp v2 |image= SA_01.png |caption= "Lights up the environment." |weight= 0.3kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Headlamp |image= SA_01.png |ca..." wikitext text/x-wiki ¡All the Gadgets! <tabber> |-|Lights= <br> {{Flexstart|inline}} {{PIblock |title= Headlamp |image= SA_01.png |caption= "Lights up the environment." |weight= 1.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Headlamp v2 |image= SA_01.png |caption= "Lights up the environment." |weight= 0.3kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Headlamp |image= SA_01.png |caption= "Lights up the environment even more." |weight= 4kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Taillight |image= SA_01.png |caption= "Lights up the environment." |weight= 1.6kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Taillightv2 |image= SA_01.png |caption= "Lights up the environment." |weight= 0.3kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Dispensers= <br> {{Flexstart|inline}} {{PIpowercore |title= Beach Ball Dispenser |image= SA_01.png |caption= "A block that dispenses beach balls." |powercores= 1 |weight= 3.7kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Snowball Dispenser |image= SA_01.png |caption= "A block that dispenses snowballs." |powercores= 1 |weight= 3.7kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Concrete Wall Dispenser |image= SA_01.png |caption= "A block that dispenses concrete walls." |powercores= 2 |weight= 3.1kg |size= 2x2x3 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Metal Crate Dispenser |image= SA_01.png |caption= "A block that dispenses metal crates." |powercores= 2 |weight= 3.7kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Dice Dispenser |image= SA_01.png |caption= "A block that dispenses dice." |powercores= 1 |weight= 3.7kg |size= 2x2x4 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIblock |title= Anchor Pin |image= SA_01.png |caption= "Creates an unbreakable connection between the vehicle and whatever it touches. |weight= 0.3kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Camera Block |image= SA_01.png |caption= "Switch your camera to this block. |weight= 0.3kg |size= 1x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Tractor Beam |image= SA_01.png |caption= "When activated the Tractor Beam attracts loose objects like Salvage, Blocks and Artifacts." |powercores= 1 |weight= 7.5kg |size= 2x2x2 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIpowercore |title= Energy Shield |image= SA_01.png |caption= "Limited protection against projectiles, blasters and explosions. Vulnerable to EMP blasts." |powercores= 3 |weight= 50kg |size= 3x2x3 |power= |dmg= |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 4c5eebb7c7c489295756f631881d992e39aa147d Logic Blocks 0 27 754 170 2024-03-05T23:41:04Z Moto28 432060 wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks, except for the Angle Sensor and Compass which are 1x2x2, that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. Every logic block weighs 0.6 kg, except the Angle Sensor and Compass, which weigh 1.2 kg. == How Logic Gates Work == There are 8 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor *Speed Sensor *Altitude Sensor *Angle Sensor *Compass Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. The output of a logic gate is *not* the output you specify in the editor while building. The output of the gates is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." This means both AND Gates and OR Gates can output values of zero. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. *Example 2: An AND Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the AND gate outputs nothing. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. *Example 2: An OR Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the OR gate outputs nothing. *Note that, like the other gates, the output of the OR Gate is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Speed Sensor ==== * The Speed Sensor sends output when the speed of the block reaches a set speed. ==== Altitude Sensor ==== * The Altitude Sensor sends output when the altitude of the block reaches a certain altitude. ==== Angle Sensor ==== * The Angle Sensor sends output when the angle of the block reaches a set amount. ==== Compass ==== * The Compass sends output when the direction the block is facing falls within a set angle. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. 5e3a80a216df7edd14264abaa024a6e05d154940 755 754 2024-03-05T23:50:42Z Moto28 432060 wikitext text/x-wiki == Overview == Logic Blocks are 1x1x2 sized blocks, except for the Angle Sensor and Compass which are 1x2x2, that simulate the action of Logical Gates. On one of the 1x2 sides, they have a display depicting 2 arrows and a symbol representing their contained Logic Gate. These blocks can be used to create automation and more advanced controls for vehicles. Every logic block weighs 0.6 kg, except the Angle Sensor and Compass, which weigh 1.2 kg. <tabber> |-|Using Logic= <br> == How Logic Gates Work == There are 8 types of logic blocks in the game: * AND Gate * OR Gate * XOR Gate * Distance Sensor *Speed Sensor *Altitude Sensor *Angle Sensor *Compass Logic Gates work by providing an output based on the input it gets. These Logic Blocks can also be controlled directly with a Green (Positive) and a Red (Negative) keyboard inputs. Like other blocks, they also have fields for Timing and Delay. The output of a logic gate is *not* the output you specify in the editor while building. The output of the gates is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." This means both AND Gates and OR Gates can output values of zero. ==== AND Gate ==== * The AND Gate only produces its output if all of the inputs are not zero. * Example: The AND Gate with two inputs receives a 1 and a 0. Because only one of the inputs is a 1, the AND Gate will not send its output. When it receives a 1 and a 1, it will send its output to whatever blocks that are marked to receive it. *Example 2: An AND Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the AND gate outputs nothing. ==== OR Gate ==== * The OR Gate only produces its output if any of it inputs are not zero. * Example: An OR Gate with 3 inputs receives a 1, 1, and 0. Because one of the inputs sends a 1, the OR Gate will send its output. If all of the inputs were 0, it would not send any output. *Example 2: An OR Gate with 3 inputs receives a 1, -0.5, and -0.5. Because adding the inputs together equals 0, the OR gate outputs nothing. *Note that, like the other gates, the output of the OR Gate is calculated by adding all the inputs together, rounding down to 1 if it is above, or up to -1 if it is below, then multiplying this value by the "output." ==== XOR Gate ==== * The XOR Gate only produces output if exactly one input is not zero. * Example: An XOR Gate with 3 inputs receives a 1, 1, and 0. Unlike the OR Gate, the XOR Gate will not send its output because the more than a single input is a 1. If the inputs were 0, 0, and 1, the XOR Gate would send its output. * Note that this is not the case with real-world binary logic, as with actual binary logic, an XOR Gate will send its output if an odd number of inputs are active. ==== Distance Sensor ==== * The Distance Sensor sends output when the distance between the sensing side of the block and another block or object come within a set distance. ==== Speed Sensor ==== * The Speed Sensor sends output when the speed of the block reaches a set speed. ==== Altitude Sensor ==== * The Altitude Sensor sends output when the altitude of the block reaches a certain altitude. ==== Angle Sensor ==== * The Angle Sensor sends output when the angle of the block reaches a set amount. ==== Compass ==== * The Compass sends output when the direction the block is facing falls within a set angle. ==== Connecting Inputs and Outputs ==== Logic Blocks can be connected to any other block that can be controlled with input, including other Logic Blocks. To have a Logic Block control another block, Click the gear icon on the logic block and click the check box on the block that you would like it to control. == Tips == * A single Logic Block can control multiple blocks at a time. If your vehicle has a lot of [[Mechanical Blocks]] to control at once, you can set them to be controlled by a single logic block instead to avoid needing to modify the controls and timing of each block. <!-- ==================================================================================================================================== --> |-|Logic Blocks= <br> {{Flexstart|inline}} {{PIblock |title= AND Logic Gate |image= SA_01.png |caption= "Outputs if ALL input is NOT zero." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= OR Logic Gate |image= SA_01.png |caption= "Outputs if ANY input is NOT zero." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= XOR Logic Gate |image= SA_01.png |caption= "Outputs if ONLY ONE input is NOT zero." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Distance Sensor |image= SA_01.png |caption= "A proximity trigger that can be connected to other blocks." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Speed Sensor |image= SA_01.png |caption= "An adjustable speed sensor that can be connected to other blocks." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Altitude Sensor |image= SA_01.png |caption= "An adjustable altitude sensor that can be connected to other blocks." |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Angle Sensor |image= SA_01.png |caption= "An adjustable angle sensor that can be connected to other blocks." |weight= 1.2kg |size= 1x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Compass |image= SA_01.png |caption= "A compass that can be connected to other blocks, always pointing north." |weight= 1.2kg |size= 1x2x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> 1ca7ac10137595614b601d12d5a501a20504c2ed File:SA 02.png 6 184 756 2024-03-07T16:05:09Z Lukkram 396381 icon for achievement 02 wikitext text/x-wiki == Summary == icon for achievement 02 57c5cf092ae04b1de6ff35de3d541e864e67d830 File:SA 03.png 6 185 757 2024-03-07T16:05:35Z Lukkram 396381 icon for achievement 03 wikitext text/x-wiki == Summary == icon for achievement 03 f43dcf57d4cf5b2caba900743f306ba6e35186fa File:SA 04.png 6 186 758 2024-03-07T16:34:16Z Lukkram 396381 icon for achievement 04 wikitext text/x-wiki == Summary == icon for achievement 04 530eecf807b950ef7f5491e19aac2f49da7f568e File:SA 05.png 6 187 759 2024-03-07T16:34:58Z Lukkram 396381 icon for achievement 05 wikitext text/x-wiki == Summary == icon for achievement 05 b2ccba1d1ce02fb49da37e4b4705f28996379ce7 File:SA 06.png 6 188 760 2024-03-07T16:39:34Z Lukkram 396381 icon for achievement 06 wikitext text/x-wiki == Summary == icon for achievement 06 b14fd03085dbab2e14d215c86be6f40b1a80b9e0 File:SA 07.png 6 189 761 2024-03-07T16:45:55Z Lukkram 396381 icon for achievement 04 wikitext text/x-wiki == Summary == icon for achievement 04 530eecf807b950ef7f5491e19aac2f49da7f568e 762 761 2024-03-07T16:46:50Z Lukkram 396381 wikitext text/x-wiki == Summary == icon for achievement 07 98e51332f6f4d538d5cfa61fd4e818feea3ae4ed File:SA 08.png 6 190 763 2024-03-07T16:47:38Z Lukkram 396381 icon for achievement 08 wikitext text/x-wiki == Summary == icon for achievement 08 6aca25adcd13007476c8565d64fe1da4432a4d17 File:SA 09.png 6 191 764 2024-03-07T16:49:27Z Lukkram 396381 icon for achievement 09 wikitext text/x-wiki == Summary == icon for achievement 09 6fe8118a712de29094a9822143f042aa772d2eda File:SA 10.png 6 192 765 2024-03-07T16:50:02Z Lukkram 396381 icon for achievement 10 wikitext text/x-wiki == Summary == icon for achievement 10 13405d58ad25e4591bc8322dc31eb788b42be4a2 File:SA 12.png 6 193 766 2024-03-07T16:50:37Z Lukkram 396381 icon for achievement 12 wikitext text/x-wiki == Summary == icon for achievement 12 828c9490c32da48d2fe0d382af095ac99586182d File:SA 13.png 6 194 767 2024-03-07T16:51:06Z Lukkram 396381 icon for achievement 13 wikitext text/x-wiki == Summary == icon for achievement 13 73abb78721420411a5a73ed105cd70f4525091ef File:SA 14.png 6 195 768 2024-03-07T16:51:41Z Lukkram 396381 icon for achievement 14 wikitext text/x-wiki == Summary == icon for achievement 14 42373245ed5bd21a6bd269a1a4fa5a963fb6f169 File:SA 16.png 6 196 769 2024-03-07T16:53:19Z Lukkram 396381 icon for achievement 16 wikitext text/x-wiki == Summary == icon for achievement 16 e51ff9af2e29f2619d0efb50f14c15d4ac819be7 File:SA 17.png 6 197 770 2024-03-07T16:55:18Z Lukkram 396381 icon for achievement 17 wikitext text/x-wiki == Summary == icon for achievement 17 f88e9f866fc4d57f74a8df258de527e4d3290b90 File:SA 18.png 6 198 771 2024-03-07T16:56:19Z Lukkram 396381 icon for achievement 18 wikitext text/x-wiki == Summary == icon for achievement 18 62695c6c921e327cf77c0448c10fb1a2e8427a4d File:SA 19.png 6 199 772 2024-03-07T16:56:48Z Lukkram 396381 icon for achievement 19 wikitext text/x-wiki == Summary == icon for achievement 19 0b7d057e5487e5e9f326a3e0c640ba66f39c83c9 File:SA 20.png 6 200 773 2024-03-07T16:57:30Z Lukkram 396381 icon for achievement 20 wikitext text/x-wiki == Summary == icon for achievement 20 2a7acf312e73e069244eb1b80cf3c1e8ef6508a9 File:SA 21.png 6 201 774 2024-03-07T16:57:58Z Lukkram 396381 icon for achievement 21 wikitext text/x-wiki == Summary == icon for achievement 21 ec0e33d8ee877ca02ff3f72611b6ccb99ec15867 File:SA 22.png 6 202 775 2024-03-07T16:58:41Z Lukkram 396381 icon for achievement 22 wikitext text/x-wiki == Summary == icon for achievement 22 7d04dc8966cfcaf32fa8cac9d3005831481f88ab File:SA 23.png 6 203 776 2024-03-07T16:59:26Z Lukkram 396381 icon for achievement 23 wikitext text/x-wiki == Summary == icon for achievement 23 42af59b939d3c79fdf13d47c389edc4585c9f0ce File:SA 24.png 6 204 777 2024-03-07T17:00:04Z Lukkram 396381 icon for achievement 24 wikitext text/x-wiki == Summary == icon for achievement 24 4a68c6c082cb08714952439b5197bf2ec1a71ce5 Basement 0 205 778 2024-03-07T17:12:51Z Lukkram 396381 Created page with "basement page" wikitext text/x-wiki basement page 0923ee8d77924b7a8bae3952bb6bfa88ebf8578e Achievements 0 56 779 725 2024-03-07T17:26:19Z Moto28 432060 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024 ) <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_23.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_22.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_10.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_09.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_08.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_18.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_12.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_16.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_24.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_19.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_21.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_05.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_06.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_07.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_03.png |caption= |about= Enter the volcano |steam= 15.4% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_04.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_02.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox= |ps= |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_14.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_20.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_13.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox= |ps= |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_17.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox= |ps= |other= }} {{Flexend}} </tabber> 1fe9e19b1c7a6440b368a260904de313f1d9f0e8 780 779 2024-03-07T18:48:31Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024. For the percentages of Xbox and Play Station, Feel free to pitch in and update the values where you see a "Fill Me!") *Images for the Achievements were made by lukkram and are made to represent the Steam version of them. This means, that they are not 100% the same as you will find in your Steam Achievements library (or Console Achievements library). <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_23.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_22.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_10.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_09.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_08.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_18.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_12.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_16.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox=Fill Me! |ps=Fill Me! |other= Unlocks "Chicken Dinner Sign" }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_24.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_19.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_21.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox=Fill Me! |ps=Fill Me! |other=The tree is in a hole in said island }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_05.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_06.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_07.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_03.png |caption= |about= Enter the volcano |steam= 15.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_04.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_02.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_14.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_20.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_13.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_17.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox=Fill Me! |ps=Fill Me! |other=Unlocks "Boombox" }} {{Flexend}} </tabber> 3f6a8ebd455a8aba9dcbe219cd7d823026f8a87f 781 780 2024-03-07T18:49:16Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024. For the percentages of Xbox and Play Station, Feel free to pitch in and update the values where you see a "Fill Me!") *Images for the Achievements were made by lukkram and are made to represent the Steam version of them. This means, that they are not 100% the same as the ones you will find in your Steam Achievements library (or Console Achievements library). <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_23.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_22.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_10.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_09.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_08.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_18.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_12.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_16.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox=Fill Me! |ps=Fill Me! |other= Unlocks "Chicken Dinner Sign" }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_24.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_19.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_21.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox=Fill Me! |ps=Fill Me! |other=The tree is in a hole in said island }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_05.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_06.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_07.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_03.png |caption= |about= Enter the volcano |steam= 15.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_04.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_02.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_14.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_20.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_13.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_17.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox=Fill Me! |ps=Fill Me! |other=Unlocks "Boombox" }} {{Flexend}} </tabber> e58e935d85c0ded9f679867502da662cab4927cb 782 781 2024-03-07T18:54:19Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024. For the percentages of Xbox and Play Station, Feel free to pitch in and update the values where you see a "Fill Me!" If you are not sure how, visit Help the wiki) *Images for the Achievements were made by lukkram and are made to represent the Steam version of them. This means, that they are not 100% the same as the ones you will find in your Steam Achievements library (or Console Achievements library). <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_23.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_22.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_10.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_09.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_08.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_18.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_12.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_16.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox=Fill Me! |ps=Fill Me! |other= Unlocks "Chicken Dinner Sign" }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_24.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_19.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_21.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox=Fill Me! |ps=Fill Me! |other=The tree is in a hole in said island }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_05.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_06.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_07.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_03.png |caption= |about= Enter the volcano |steam= 15.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_04.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_02.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_14.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_20.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_13.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_17.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox=Fill Me! |ps=Fill Me! |other=Unlocks "Boombox" }} {{Flexend}} </tabber> 47808c2784a2a677ff181aeb9a9950d91c334c86 783 782 2024-03-07T18:55:11Z Lukkram 396381 wikitext text/x-wiki ==<big>'''Trailmakers Achievements'''</big>== There are currently 22 Achievements in Trailmakers. 2 in Danger Zone, 3 in Race Island, 6 in Treasure Island, 3 in Rally Mode, 4 in Stranded in Space & 4 that are't map dependent. Here you'll find a list of what they are and how to get them. For ease of use, they are grouped together if they depend on certain conditions. For example: "Race Island" are Achievements you need to complete in the Race Island Map. ( Listed are the percentages of players with the achievement as shown in '''steam''' as of February 2024. For the percentages of Xbox and Play Station, Feel free to pitch in and update the values where you see a "Fill Me!" If you are not sure how, visit [[How to Help]]) *Images for the Achievements were made by lukkram and are made to represent the Steam version of them. This means, that they are not 100% the same as the ones you will find in your Steam Achievements library (or Console Achievements library). <tabber> |-|Danger Zone= <br> {{Flexstart|inline}} {{PIachievements |title= 3-Pointer |image= SA_23.png |caption= |about= Shoot Hoops on Danger Zone |steam= 6.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= El Capitan |image= SA_22.png |caption= |about= Reach the Top of Danger Zone |steam= 8.3% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Race Island= <br> {{Flexstart|inline}} {{PIachievements |title= Best View In Town |image= SA_10.png |caption= |about= Land on the Lighthouse on Race Island |steam= 3.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Hot Air |image= SA_09.png |caption= |about= Crash into the blimp on Race Island |steam= 7.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Island Hopper |image= SA_08.png |caption= |about= Land in all the floating Islands above Race Island in one session |steam= 1.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Treasure Island= <br> {{Flexstart|inline}} {{PIachievements |title= Man In Black |image= SA_18.png |caption= |about= Fly through all the rings of fire in Treasure Island in one session |steam= 4.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Moby Dick |image= SA_12.png |caption= |about= Bump into the whales in Treasure Island |steam= 3.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Monster! |image= SA_16.png |caption= |about= Drive over 8 chickens on Treasure Island in one session |steam= 10.1% |xbox=Fill Me! |ps=Fill Me! |other= Unlocks "Chicken Dinner Sign" }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Pay your respect |image= SA_24.png |caption= |about= Visit the monument on Treasure Island |steam= 9.5% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Problem Solver |image= SA_19.png |caption= |about= Complete all the ball puzzles on Treasure Island |steam= 2.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Treehugger |image= SA_21.png |caption= |about= Hug the Tree on the Northeastern Island on Treasure Island |steam= 1.6% |xbox=Fill Me! |ps=Fill Me! |other=The tree is in a hole in said island }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Rally Mode= <br> {{Flexstart|inline}} {{PIachievements |title= Gold Rush |image= SA_05.png |caption= |about= Get gold on Downhill Rush |steam= 6.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Slide to Win |image= SA_06.png |caption= |about= Get gold on Sunny Slide |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= To Fly or Not To Fly |image= SA_07.png |caption= |about= Get gold on Cliff Land |steam= 2.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Stranded in Space= <br> {{Flexstart|inline}} {{PIachievements |title= Bring Marshmallows! |image= SA_03.png |caption= |about= Enter the volcano |steam= 15.4% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Power Core Collector |image= SA_04.png |caption= |about= Find 15 Power Cores in Stranded in Space |steam= 20.1% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Ready For Takeoff |image= SA_02.png |caption= |about= Rebuild your spaceship |steam= 9.2% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= So attractive! |image= SA_01.png |caption= |about= Pick up a piece of Salvage |steam= 35.8% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= <br> {{Flexstart|inline}} {{PIachievements |title= Car Collector |image= SA_14.png |caption= |about= Download and load in a vehicle from the Workshop |steam= 51.9% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Leonardo da Vinci |image= SA_20.png |caption= |about= Stay airborne in a zero Power Core vehicle for 60 seconds |steam= 5.6% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sharing is Caring |image= SA_13.png |caption= |about= Upload a vehicle to the Workshop |steam= 10.0% |xbox=Fill Me! |ps=Fill Me! |other= }} {{Flexend}} {{Flexstart|inline}} {{PIachievements |title= Sonic Boom |image= SA_17.png |caption= |about= Break the sound barrier |steam= 29.2% |xbox=Fill Me! |ps=Fill Me! |other=Unlocks "Boombox" }} {{Flexend}} </tabber> fcebe5d01170c9fbb93b04d46c2347186e0b5c87 Trailmakers Wiki 0 45 784 592 2024-03-07T18:58:01Z Lukkram 396381 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the official '''{{SITENAME}}'''</h2><!-- --><p>the ''Trailmakers'' guide written and maintained by the community.</p><!-- --><p>We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]].</p><!-- --><p>Please feel free to contribute by creating new articles or expanding existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Trailmakers</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Trailmakers]] is part creative vehicle-building sandbox, and part open-world rally expedition. You begin your journey in a desolate canyon on a distant planet, and must scavenge for discarded vehicle parts. Your goal is to get as far as you can! Build a rig and experience the sweet rush of freedom that follows the acquisition of motorized transportation.</p><!-- --><p>The world in Trailmakers is an inherently dangerous place. To progress in the expedition you need to continuously adjust your vehicle to overcome obstacles and conquer the environment. Play alone and see how far you can get, or join your friends for a fun co-op quest. In Trailmakers, the adventure is in the making.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box quicklinks"><!-- --><h2>Quick Links</h2><!-- --><div class="content"><!-- -->{{FP link|Accesories|size=wide}}<!-- -->{{FP link|Artifacts|size=wide}}<!-- -->{{FP link|Blocks|size=wide}}<!-- -->{{FP link|Building Tools|size=wide}}<!-- -->{{FP link|Logic Blocks|size=wide}}<!-- -->{{FP link|Mechanical Blocks|size=wide}}<!-- -->{{FP link|Propulsion Blocks|size=wide}}<!-- -->{{FP link|Salvage|size=wide}}<!-- -->{{FP link|Sound Makers|size=wide}}<!-- -->{{FP link|Weapons|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box guides"><!-- --><h2>Guides & Information</h2><!-- --> *[[Achievements]] *[[Blueprints]] *[[Building]] *[[DLC]] *[[Environment]] *[[Game Modes]] *[[Logic Circuits]] *[[Maps]] *[[Modding]] *[[Official Competitions]] *[[Shortcuts & Controls]] *[[Workshop & Galleries]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box links"><!-- --><h2>''Trailmakers'' Links</h2><!-- --><div class="content"><!-- -->{{FP link|url=https://www.playtrailmakers.com/|Official Website|size=wide}}<!-- -->{{FP link|url=https://www.flashbulbgames.com/|Developers|size=wide}}<!-- -->{{FP link|url=https://twitter.com/PlayTrailmakers|Official Twitter|size=wide}}<!-- -->{{FP link|url=https://www.facebook.com/PlayTrailmakers/|Official Facebook|size=wide}}<!-- -->{{FP link|url=https://www.linkedin.com/company/lightbulb-games|Official LinkedIn|size=wide}}<!-- -->{{FP link|url=https://www.discord.gg/Trailmakers|Official Discord|size=wide}}<!-- --></div><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;[[How to help]] : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> {{#description2:The official community maintained wiki resource for Trailmakers!}} [[category:{{SITENAME}}| ]] 8c9a1ff8798854886096a5966a6ed263ad4d693f Maps 0 143 787 577 2024-03-08T08:24:47Z Moto28 432060 wikitext text/x-wiki Page for Maps. Information pending <tabber> <br> |-|Stranded= <!-- {{DataMap:Cipanku Interactive Map|title=Location Map for Cipanku}} --> |-|Danger Zone= |-|Treasure Island= |-|Test Zone= |-|Space Sector= |-|Airborne= |-|High Seas= </tabber> 7e79a2e67ef9aa2a8fb33bf345b8663d17163f47 788 787 2024-03-08T08:26:12Z Moto28 432060 wikitext text/x-wiki Page for Maps. Information pending <tabber> |-|Stranded= <!-- {{DataMap:Cipanku Interactive Map|title=Location Map for Cipanku}} --> |-|Danger Zone= |-|Treasure Island= |-|Test Zone= |-|Space Sector= |-|Airborne= |-|High Seas= </tabber> 2a468dc2aae1db8f277cd38a824d8033c43efeb8 Exhaust Accessories 0 206 789 2024-03-08T10:31:21Z Lukkram 396381 Created page with "exhaust" wikitext text/x-wiki exhaust 1b90d4690a2a9dc1d696d489a4943d381a7bba85 804 789 2024-03-08T12:09:12Z Lukkram 396381 wikitext text/x-wiki <tabber> |-|Intakes= Decorative Air Intakes <br> {{Flexstart|inline}} {{PIblock |title= Sharp Air Intake |image= SA_01.png |caption= |weight= 1.5 kg |size= 2x2x1 |hp= |aero= none |other= Has almost the same angle as the 4x1 wedge (~14 degrees) |about=Keep your cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Air Intake |image= SA_01.png |caption= |weight= 2 kg |size= 2x2x1 |hp= |aero= none |other= |about=Makes your vehicle... cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded Air Intake |image= SA_01.png |caption= |weight= 2 kg |size= 2x2x1 |hp= |aero= none |other= |about=Keep your cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Hood Pipes |image= SA_01.png |caption= |weight= 3 kg |size= 2x2x1 |hp= |aero= none |other= |about=Steaming ahead. }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Exhausts= Decorative Exhausts that emit smoke <br> {{Flexstart|inline}} {{PIblock |title= 80s Exhaust |image= SA_01.png |caption= |weight= 3.1 kg |size= 2x2x2 |hp= |aero= none |other= |about= Go back in time. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Exhaust With Muffler |image= SA_01.png |caption= |weight= 0.5 kg |size= 2x3x1 |hp= |aero= none |other= |about= Let the air out! }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Long Exhaust |image= SA_01.png |caption= |weight= 1 kg |size= 1x4x1 |hp= |aero= none |other= |about= Let off some steam. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Buggy Exhaust |image= SA_01.png |caption= |weight= 0.5 kg |size= 1x3x1 |hp= |aero= none |other= |about= Fancy exhaust system with a muffler. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Triple Exhaust |image= SA_01.png |caption= |weight= 0.5 kg |size= 1x4x2 |hp= |aero= none |other= |about= Three times cooler! }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Emitters= <br> {{Flexstart|inline}} {{PIblock |title= Smoke Trail Device |image= SA_01.png |caption= |weight= 5 kg |size= 2x1x4 |hp= |aero= none |other= Smoke color is a gradient from yellow to red to purple |about=Activate to show your colored smoke trail }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Bubble Maker |image= SA_01.png |caption= |weight= 0.5 kg |size= 2x2x2 |hp= |aero= none |other= Selection hitbox is a 1x2x2 square on the front of the block, therefore you can select thing behind it while looking at it from the sides, top and bottom |about=Watch loads of bubbles pour out. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Mad Science Block |image= SA_01.png |caption= |weight= 5 kg |size= 2x2x1 |hp= |aero= none |other= |about=Name one genius that ain't crazy! }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rainbow Maker |image= SA_01.png |caption= |weight= 9.6 kg |size= 2x2x2 |hp= |aero= none |other= |about=Be a rainbow. }} {{Flexend}} </tabber> 8c0b3f06e8cfcfe80d4744d18544e70eddeca37a 805 804 2024-03-08T12:09:55Z Lukkram 396381 wikitext text/x-wiki <tabber> |-|Intakes= Decorative Air Intakes <br> {{Flexstart|inline}} {{PIblock |title= Sharp Air Intake |image= SA_01.png |caption= |weight= 1.5 kg |size= 2x2x1 |hp= |aero= none |other= Has almost the same angle as the 4x1 wedge (~14 degrees) |about=Keep your cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Air Intake |image= SA_01.png |caption= |weight= 2 kg |size= 2x2x1 |hp= |aero= none |other= |about=Makes your vehicle... cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rounded Air Intake |image= SA_01.png |caption= |weight= 2 kg |size= 2x2x1 |hp= |aero= none |other= |about=Keep your cool. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Hood Pipes |image= SA_01.png |caption= |weight= 3 kg |size= 2x2x1 |hp= |aero= none |other= |about=Steaming ahead. }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Exhausts= Decorative Exhausts that emit smoke <br> {{Flexstart|inline}} {{PIblock |title= 80s Exhaust |image= SA_01.png |caption= |weight= 3.1 kg |size= 2x2x2 |hp= |aero= none |other= |about= Go back in time. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Exhaust With Muffler |image= SA_01.png |caption= |weight= 0.5 kg |size= 2x3x1 |hp= |aero= none |other= |about= Let the air out! }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Long Exhaust |image= SA_01.png |caption= |weight= 1 kg |size= 1x4x1 |hp= |aero= none |other= |about= Let off some steam. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Buggy Exhaust |image= SA_01.png |caption= |weight= 0.5 kg |size= 1x3x1 |hp= |aero= none |other= |about= Fancy exhaust system with a muffler. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Triple Exhaust |image= SA_01.png |caption= |weight= 0.5 kg |size= 1x4x2 |hp= |aero= none |other= |about= Three times cooler! }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Emitters= <br> {{Flexstart|inline}} {{PIblock |title= Smoke Trail Device |image= SA_01.png |caption= |weight= 5 kg |size= 2x1x4 |hp= |aero= none |other= Smoke color is a gradient from yellow to red to purple |about=Activate to show your colored smoke trail }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Bubble Maker |image= SA_01.png |caption= |weight= 0.5 kg |size= 2x2x2 |hp= |aero= none |other= Selection hitbox is a 1x2x2 square on the front of the block, therefore you can select things behind it while looking at it from the sides, top and bottom |about=Watch loads of bubbles pour out. }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Mad Science Block |image= SA_01.png |caption= |weight= 5 kg |size= 2x2x1 |hp= |aero= none |other= |about=Name one genius that ain't crazy! }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Rainbow Maker |image= SA_01.png |caption= |weight= 9.6 kg |size= 2x2x2 |hp= |aero= none |other= |about=Be a rainbow. }} {{Flexend}} </tabber> ff8f94fd4b11858dace4a134f631db2ef0b48057 Details Accessories 0 207 790 2024-03-08T10:32:06Z Lukkram 396381 Created page with "Details" wikitext text/x-wiki Details dc3decbb93847518f1a049dcf49d0d7c6560bcc6 Lights Accessories 0 208 791 2024-03-08T10:32:37Z Lukkram 396381 Created page with "Lights" wikitext text/x-wiki Lights 646a059adb5e4d138d69edb2e67f2697d9109f81 Flags Accessories 0 209 792 2024-03-08T10:33:06Z Lukkram 396381 Created page with "Flags" wikitext text/x-wiki Flags 5d728758adcdd5154d3be55552c1c061ef1489b2 Facial Features Accessories 0 210 793 2024-03-08T10:33:54Z Lukkram 396381 Created page with "Facial Features" wikitext text/x-wiki Facial Features 27454c2d677c6b84835b1ae30db0a92095e8978a Bumpers Accessories 0 211 794 2024-03-08T10:34:27Z Lukkram 396381 Created page with "Bumpers" wikitext text/x-wiki Bumpers 33dfad7b5ce2248cc4bc150bdb221a1a79b9f6be Rims Accessories 0 212 795 2024-03-08T10:35:01Z Lukkram 396381 Created page with "Rims" wikitext text/x-wiki Rims 5f1c49376308e61b8e5bce589dd9676b50f3c1f7 Soundmakers Accessories 0 213 796 2024-03-08T10:35:47Z Lukkram 396381 Created page with "Soundmakers" wikitext text/x-wiki Soundmakers 5eb937f72e6672e266fc4e7bc171547eafdbb41c Ornaments Accessories 0 214 797 2024-03-08T10:36:11Z Lukkram 396381 Created page with "Ornaments" wikitext text/x-wiki Ornaments 809ccb2c37265bf3340f19a68d94be214ac28104 Trophies Accessories 0 215 798 2024-03-08T10:36:43Z Lukkram 396381 Created page with "Trophies" wikitext text/x-wiki Trophies 3a1ef60b8e85c4c19f8fad19e9eac6b3c775dd5a Accesories 0 152 799 593 2024-03-08T10:41:31Z Lukkram 396381 wikitext text/x-wiki "Cosmetic blocks for decorating your vehicle" Info pending <group> * [[ Exhaust Accessories | Exhaust ]] * * * * * * * </group> <tabber> |-|Exhaust= "If you really don't care about the environment." |-|Details= "The devil is in the details" |-|Lights= "Blocks that can illuminate, or just get the party started." |-|Flags= "To show which country you are from - like pirate." |-|Facial Features= "Build your own head!" |-|Bumpers= "For all your Bumping needs" |-|Rims= "A wheel is not the same without 'em." |-|Soundmakers= "Make some noise y'all!" |-|Ornaments= "What really ties the vehicle together." |-|Trophies= "Show off your achievements - you've earned it!" </tabber> 4e97241d40919715863be9a49bbe5648b79af66b 800 799 2024-03-08T10:46:41Z Lukkram 396381 wikitext text/x-wiki "Cosmetic blocks for decorating your vehicle" Info pending <div> * [[ Exhaust Accessories | Exhaust ]] * [[ Details Accessories | Details ]] * [[ Lights Accessories | Lights ]] * [[ Flags Accessories | Flags ]] * [[ Facial Features Accessories | Facial Features ]] * [[ Bumpers Accessories | Bumpers ]] * [[ Rims Accessories | Rims ]] * [[ Soundmakers Accessories | Soundmakers ]] * [[ Ornaments Accessories | Ornaments ]] * [[ Trophies Accessories | Trophies ]] </div> <tabber> |-|Exhaust= "If you really don't care about the environment." |-|Details= "The devil is in the details" |-|Lights= "Blocks that can illuminate, or just get the party started." |-|Flags= "To show which country you are from - like pirate." |-|Facial Features= "Build your own head!" |-|Bumpers= "For all your Bumping needs" |-|Rims= "A wheel is not the same without 'em." |-|Soundmakers= "Make some noise y'all!" |-|Ornaments= "What really ties the vehicle together." |-|Trophies= "Show off your achievements - you've earned it!" </tabber> 38535ac2691f12a9a6984326c9802da005b001aa 801 800 2024-03-08T10:49:29Z Lukkram 396381 wikitext text/x-wiki "Cosmetic blocks for decorating your vehicle" Info pending {{Flexstart|inline}} * [[ Exhaust Accessories | Exhaust ]] * [[ Details Accessories | Details ]] * [[ Lights Accessories | Lights ]] * [[ Flags Accessories | Flags ]] * [[ Facial Features Accessories | Facial Features ]] {{Flexend}} {{Flexstart|inline}} * [[ Bumpers Accessories | Bumpers ]] * [[ Rims Accessories | Rims ]] * [[ Soundmakers Accessories | Soundmakers ]] * [[ Ornaments Accessories | Ornaments ]] * [[ Trophies Accessories | Trophies ]] {{Flexend}} 0f6ae3b464feefbc0e0adf27fa9f7e497ca0d35c Template:Flexbox 10 88 802 611 2024-03-08T10:50:42Z Lukkram 396381 wikitext text/x-wiki <includeonly> {{flexstart|{{#if:{{{inline|}}}|inline}}<!-- -->|wrap={{{wrap|}}}<!-- -->|direction={{{direction|}}}<!-- -->|justify={{{justify|}}}<!-- -->|alignitems={{{alignitems|}}}<!-- -->|alignlines={{{alignlines|}}}<!-- -->|width={{{width|}}}<!-- -->|height={{{height|}}}<!-- -->|css={{{css|{{{style|}}}}}}<!-- -->|cssclass={{{cssclass|{{{class|}}}}}}<!-- -->|id={{{id|}}}<!-- -->}}<!-- -->{{#fornumargs:_|v|{{#var:v}}}}<!-- -->{{flexend}} </includeonly> <noinclude> {{doc}} </noinclude> cca59a64690d92afcb303a83027b361707409490 Frame Blocks 0 19 803 739 2024-03-08T11:09:59Z Lukkram 396381 wikitext text/x-wiki == Overview == "Blocks for building the frame of your vehicle." Frame pieces are the basic building blocks and allow you to create the framework for your creations. There are four main categories: Blocks, Grid Blocks, Flat Connectors, and Shields. <tabber> |-|Blocks= '''"Basic Building Blocks" - The most basic piece used for building creations. Has studs on all sides''' <br> {{Flexstart|inline}} {{PIblock |title= Block 1x2 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x3 |image= SA_01.png |caption= |weight= 0.9kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 1x4 |image= SA_01.png |caption= |weight= 1.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 2x2x2 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x2x2 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Block 4x8 |image= SA_01.png |caption= |weight= 10kg |size= 4x8x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Grid Blocks= '''"A metal pole for crafting Grids," The blocks are surprisingly light for being metal. From light testing, appears to be similar durability to normal blocks.''' <br> {{Flexstart|inline}} {{PIblock |title= Grid Block 1x2 |image= SA_01.png |caption= |weight= 0.3kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Grid Block 1x4 |image= SA_01.png |caption= |weight= 0.6kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Connectors= '''"Flat connection bar" - A lanky piece with only two studs on one side of the connector. Useful when trying to limit connections between blocks, i.e., when turning or other mechanical parts.''' <br> {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x2 |image= SA_01.png |caption= |weight= 0.1kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x3 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x3x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Flat Connector 1x4 |image= SA_01.png |caption= |weight= 0.2kg |size= 1x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Shield= '''"Armor for your vehicle" - Used as defense against projectiles launched from the cannons, Also useful for covering up studs on blocks for a sleeker look.''' <br> {{Flexstart|inline}} {{PIblock |title= Shield 2x1 |image= SA_01.png |caption= |weight= 0.6kg |size= 2x1x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x2 |image= SA_01.png |caption= |weight= 1.2kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Shield 2x4 |image= SA_01.png |caption= |weight= 2.5kg |size= 2x4x1 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> |-|Others= '''The Frame section also includes the following blocks: Small Porthole, Large Porthole, Airplane Window, and Mast (High Seas DLC).''' <br> {{Flexstart|inline}} {{PIblock |title= Small Porthole |image= SA_01.png |caption= |weight= 1.2kg |size= 1x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Large Porthole |image= SA_01.png |caption= |weight= 5kg |size= 4x4x3 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Airplane Window |image= SA_01.png |caption= |weight= 1.1kg |size= 2x2x1 |hp= |aero= |other= |about= }} {{Flexend}} {{Flexstart|inline}} {{PIblock |title= Mast |image= SA_01.png |caption= |weight= 5kg |size= 2x8x2 |hp= |aero= |other= |about= }} {{Flexend}} <!-- ==================================================================================================================================== --> </tabber> d3efb70600e4658484e1ca7ce386815749ec23f0 Modding 0 144 806 578 2024-03-27T12:24:45Z Frans fbg 439888 Basic draft of Modding index page wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. Note: Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. == Creating Mods == [[Draft: Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. 00d0eeb1c90cf5729ae8ede4d36397e4fbd27b4a 807 806 2024-03-27T12:49:12Z Frans fbg 439888 wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. Note: Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <source enclose="none">trailmakers/mods/trailmakers_docs.lua</source>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. ec943548d3b8a7aacc7ed5d1eb419b481e470e56 808 807 2024-03-27T12:51:29Z Frans fbg 439888 wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. Note: Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. 6d9a5cb52374dec3c21a4ff62bfd159f47b1650e 809 808 2024-03-27T13:21:30Z Frans fbg 439888 /* Using Mods */ wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. Note: Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. c898956851ea49beee1581053c6a5db400714ae9 810 809 2024-03-27T13:24:17Z Frans fbg 439888 /* Installing and using Mods */ wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. Note: Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. Mods downloaded through Steam Workshop will be installed in your Steam workshop content folder for Trailmakers (Ex. <code>C:\Program Files (x86)\Steam\steamapps\workshop\content\585420\<mod></code>) You can also manually install mods by placing them in your <code>trailmakers/mods/<mod></code> folder. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. 01f75914e75aabf58c276e70a01a73bbe690ba31 811 810 2024-03-27T13:24:41Z Frans fbg 439888 /* Installing and using Mods */ wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. '''Note''': Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. Mods downloaded through Steam Workshop will be installed in your Steam workshop content folder for Trailmakers (Ex. <code>C:\Program Files (x86)\Steam\steamapps\workshop\content\585420\<mod></code>) You can also manually install mods by placing them in your <code>trailmakers/mods/<mod></code> folder. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. 90fceaf6b5f306e12484958c28b8e6939d51cc08 816 811 2024-03-27T15:21:04Z Frans fbg 439888 /* Creating Mods */ wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. '''Note''': Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. Mods downloaded through Steam Workshop will be installed in your Steam workshop content folder for Trailmakers (Ex. <code>C:\Program Files (x86)\Steam\steamapps\workshop\content\585420\<mod></code>) You can also manually install mods by placing them in your <code>trailmakers/mods/<mod></code> folder. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] More comprehensive guide and API reference can be found here [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. b782fbe7f128a1b7481b513fc251264d8dcef191 817 816 2024-03-27T15:21:13Z Frans fbg 439888 /* Creating Mods */ wikitext text/x-wiki == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. '''Note''': Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. Mods downloaded through Steam Workshop will be installed in your Steam workshop content folder for Trailmakers (Ex. <code>C:\Program Files (x86)\Steam\steamapps\workshop\content\585420\<mod></code>) You can also manually install mods by placing them in your <code>trailmakers/mods/<mod></code> folder. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] More comprehensive guide and API reference can be found here [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. 3c4d3a5337b3399a36d4eb905c625022e3fa88ad 833 817 2024-03-27T17:29:39Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] == Introduction == Trailmakers support modding through [https://www.lua.org/ Lua scripting language]. There is a full modding API, that can access and modify various properties in the game. It is supported for both multiplayer and singleplayer. Modding functions are still growing between every release and is in active development. You can visit the [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] to discuss and request new features, where you can also talk and get help from community members who does modding. Modding is not support on consoles, and only on Steam version of the game. There are currently no plans to get modding support to other platforms. == Installing and using Mods == Only the person hosting the multiplayer server can select which mods are active. You can also use mods in singleplayer sessions. # Download any of the many mods from the [https://steamcommunity.com/workshop/browse/?appid=585420&requiredtags%5B%5D=Mods Steam Workshop], you can also download them directly from the game in the Workshop menu. # Start the game and a new session, we recommend Sandbox + Test Zone for trying out new mods. # After getting into the game, press Escape to bring up the In-Game Menu and then click on Session Options. # Now click Activate Mods and enable the mod(s) you downloaded. '''Note''': Custom Maps still requires you to load a (any) map, the custom map is loaded on top of the existing map. Mods downloaded through Steam Workshop will be installed in your Steam workshop content folder for Trailmakers (Ex. <code>C:\Program Files (x86)\Steam\steamapps\workshop\content\585420\<mod></code>) You can also manually install mods by placing them in your <code>trailmakers/mods/<mod></code> folder. == Creating Mods == Creating mods for Trailmakers requires understanding of general programming. There are various ways to approach this, but this will not be covered here. Brief tips for getting started: * Check out other existing mods, the mods you download from Workshop you can read and modify as you wish. * Check the [https://www.lua.org/start.html Lua - Getting Started page] * Check the Trailmakers Moddding API file inside the <code>trailmakers/mods/trailmakers_docs.lua</code>. * Ask on [https://discord.com/channels/296562030624899072/1140936220487192587 official Discord Forum for modding] More comprehensive guide and API reference can be found here [[Basic Modding Guide]] == Disclaimer == DLL modding goes against our [https://playtrailmakers.com/xboxtos/ Terms of Service], promoting it on the [https://discord.gg/trailmakers official Discord server] will result in a temporary ban at first which will become a permanent ban for serial offenders. c8fda4f3f55c1f2a989f05e8bbddcf33eb3fef68 Basic Modding Guide 0 216 812 2024-03-27T13:48:56Z Frans fbg 439888 Created page with "== Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for w..." wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating Custom Maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> fdf75f24523d5556ed3aab1cd04df33592fcd9ce 813 812 2024-03-27T13:49:47Z Frans fbg 439888 /* Your first mod: Hello World! */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating Custom Maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> 663ac6749cbb7c57d8675f209a0b60bb6be17f71 814 813 2024-03-27T15:19:21Z Frans fbg 439888 /* Your first mod: Hello World! */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code<C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating Custom Maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> d4056961e34b07d7a566ab47c3a4b82f83d435f5 815 814 2024-03-27T15:19:38Z Frans fbg 439888 /* Your first mod: Hello World! */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating Custom Maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> 3ffe5834d5ef080331b4beaeb86bef2f77e26111 818 815 2024-03-27T15:34:21Z Frans fbg 439888 wikitext text/x-wiki {{Header|Modding}} == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> ee5f6cf154cfff9b375ebd4196f45b70cf49e412 819 818 2024-03-27T15:37:02Z Frans fbg 439888 Resources for every modding area (unfinished) wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Resources == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] 15f980f20ea08933aeee556942d0456ceb8df056 820 819 2024-03-27T15:37:27Z Frans fbg 439888 wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> 557cf5fd37127b09fe8ac6959c45a0acc98702f3 821 820 2024-03-27T15:38:14Z Frans fbg 439888 wikitext text/x-wiki == Resources == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> 9e956b419d0d93063be45132f6afbaf7b056ec4f 822 821 2024-03-27T15:57:49Z Frans fbg 439888 Moved the resource list back as it took a little too much space up top. wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Resources == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] 15f980f20ea08933aeee556942d0456ceb8df056 823 822 2024-03-27T16:02:54Z Frans fbg 439888 wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Practically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Topics == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] b560b9e2bbc50d7efd7472a96a6bf281d0d383e2 824 823 2024-03-27T16:03:44Z Frans fbg 439888 wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Practically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] a8ef09982ab0d220c3eb90fb404dfd39360814fa 825 824 2024-03-27T16:07:45Z Frans fbg 439888 /* Maps */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by TerorSoul which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] a407d038d3abdbccbe30e9d1fc7030b3304f1b79 828 825 2024-03-27T17:20:24Z Frans fbg 439888 wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[Modding:Game Loop and Tick]] * [[Modding:ModGameObject]] * [[Modding:ModTransform]] * [[Modding:ModQuaternion]] * [[Modding:ModVector3]] * [[Modding:ModStructure]] * [[Modding:ModBlock]] * [[Modding:PlayerUI]] * [[Modding:Physics]] * [[Modding:Audio]] * [[Modding:Files]] * [[Modding:Spawnables]] * [[Modding:Input]] * [[Modding:Custom Assets]] eb142857c6b4c78220a4f95d4ad0d4b976437dfe 829 828 2024-03-27T17:23:53Z Frans fbg 439888 wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 4435f35f5162a204515edf5c4e267dd9b08b8ba3 830 829 2024-03-27T17:24:20Z Frans fbg 439888 /* Creating custom maps */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 1324ce435544cd3f783d221bc3416081c9306762 831 830 2024-03-27T17:25:46Z Frans fbg 439888 /* Topics */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Category:Modding|Modding Topics]] * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] e89f86f08d7b79bbca3c6bd2a7e0ef7c40a396b2 832 831 2024-03-27T17:26:05Z Frans fbg 439888 /* Topics */ wikitext text/x-wiki == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 1324ce435544cd3f783d221bc3416081c9306762 834 832 2024-03-27T17:29:52Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 605d6ecd1feb19f8cc8e4934e4736bb2acec547c 836 834 2024-03-27T17:30:51Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[Game Loop and Tick]] * [[ModGameObject]] * [[ModTransform]] * [[ModQuaternion]] * [[ModVector3]] * [[:ModdingModStructure]] * [[ModBlock]] * [[PlayerUI]] * [[Physics]] * [[Audio]] * [[Files]] * [[Spawnables]] * [[Input]] * [[Custom Assets]] ad94a27e064d01695c2f0c612b66068b44fa9014 837 836 2024-03-27T17:31:37Z Frans fbg 439888 /* Topics */ wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 605d6ecd1feb19f8cc8e4934e4736bb2acec547c 838 837 2024-03-27T17:48:38Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <source lang="text"> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </source> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 71a1650fd34c6223bb69268ebbd89684b133660c Modding:Game Loop and Tick 0 217 826 2024-03-27T17:11:18Z Frans fbg 439888 Created page with "You can add an update function like so. <source> function update() -- do things every update end </source> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</..." wikitext text/x-wiki You can add an update function like so. <source> function update() -- do things every update end </source> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</code> to get the number of seconds since last. Mods update are called in sync with UnityEngine update. So, if the mod updates takes long, then the game will be frozen until the update is done. 68b93249433e9760db30cdc264467886bcbe516e 827 826 2024-03-27T17:11:44Z Frans fbg 439888 wikitext text/x-wiki You can add an update function like so. <source> function update() -- do things every update end </source> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</code> to get the number of seconds since last. Mods update on the main thread. If the mod updates takes long, then the game will be frozen until the update is done. ec50c6ece60beec1322e7bc9ddff7122212918f2 835 827 2024-03-27T17:30:04Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] You can add an update function like so. <source> function update() -- do things every update end </source> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</code> to get the number of seconds since last. Mods update on the main thread. If the mod updates takes long, then the game will be frozen until the update is done. 256fd8fefc931eda79b06ee8a92e14fff0c82029 Basic Modding Guide 0 216 839 838 2024-03-27T17:49:07Z Frans fbg 439888 /* Folder Structure */ wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <syntaxhighlight lang="text"> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </syntaxhighlight> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Player:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] e51779c8754f9b4dddaee0e06dccc6e4066f8044 847 839 2024-03-27T18:46:46Z Frans fbg 439888 /* Creating custom maps */ wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <syntaxhighlight lang="text"> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </syntaxhighlight> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Players:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 3323f3af8b3434cb0ae907cb0a5e49b4555e61f5 853 847 2024-03-27T19:48:45Z Frans fbg 439888 /* Topics */ wikitext text/x-wiki [[category:Modding]] == Setup tooling == You can open the .lua files in any editor you like; however, here is a guide for how to set up Visual Studio Code for getting auto suggestion related to Trailmakers API while coding. # Download, install and open Visual Studio Code # Go to File -> Preferences -> Extensions # Search for lua and install the the Lua extension by sumneko (https://marketplace.visualstudio.com/items?itemName=sumneko.lua) # Go to File -> Preferences -> Settings # Search for workspace library # Click Add Item for the Lua > Workspace: Library entry. And enter the path for your chosen API doc file (Ex. <code>trailmakers/mods/trailmakers_docs.lua</code>) # You are done, your code editor will now make auto suggestions for all our library functions in Trailmakers! An alternative guide and Lua API definitions can also be found in [https://github.com/ALVAROPING1/Trailmakers-API-LuaLS ALVAROPING's Github Repository], which supports more features. == Your first mod: Hello World! == This is a short guide for printing a basic "Hello World!" message in the mod log. It serves as a basic starter for getting you started with trailmakers modding. # Create a folder in the mods directory, e.g. <code>C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods</code>. Let us call it <code>helloworld</code>. # Open the folder and create a file named <code>main.lua</code>. Note: For the mod to work, the main.lua file needs to exist, as it is the entry point for the game. # Open the <code>main.lua</code> file and write <code>tm.os.Log("Hello World!")</code> # Open trailmakers and activate the <code>helloworld</code> mod (See [[Modding#Installing and using Mods]] for how to activate mods). # There should now be a file <code>trailmakers/mods/helloworld.log</code>, that should contain the "Hello World!" text that was printed to the log from the mod. == Notes == === Server Authority === All the lua code is ran on the server and then passed to the clients. The clients never “run” the scripts. The server ensures the mod update is ran, and all the API functions ensures to inform the clients about the updates. This does create some limitations in most of the functionality that can be created for modding API is (mostly) server-based only. === Hot Reload === Every time you save changes the the mod folder, the game will detect it and reload the mod script automatically while the game is running. === Folder Structure === Usually mods folder look something like this: <syntaxhighlight lang="text"> mod root |- main.lua -- Where code gets executed |- data_static/ -- Assets/Data shipped with the mod, can only read from during runtime |- data_dynamic/ -- Data dynamic that can be read/write from during runtime </syntaxhighlight> === Multiple Mods === You can have multiple mods activated at once. The script executions between mods are run seperately and can not access eachother (Physical objects will still interact with each other though) === Maps === Technically, there is no “map” feature in the current API. But, the community has made Map mods using serialising lists of spawnable objects into the data_static folder that can be loaded by the mod -- This was not something we expected, but we do love it! (We even added a Steam Tag for it). But, this means that the mods are not detected as “maps” and will not get included in the list of Maps when you start a server. This would require us to create some kind of metadata for mods that specify that they are “maps”, that the game can detect – we do currently not have any plans on doing this, but we are keeping a keen eye on this! === Sandbox === Due to security, we sandboxed what Lua functions you can use. Mainly OS and File related functionality, you can still read and write to files, but only using the API that we have created that interacts inside the modding folder. == Creating custom maps == A comprehensive Video guide has been made by [[:Players:TerrorSoul]] which can be watched here: <youtube>gLzuX_Umxkk</youtube> == Modding Topics == * [[:Modding:Game Loop and Tick]] * [[:Modding:ModGameObject]] * [[:Modding:ModTransform]] * [[:Modding:ModQuaternion]] * [[:Modding:ModVector3]] * [[:Modding:ModStructure]] * [[:Modding:ModBlock]] * [[:Modding:PlayerUI]] * [[:Modding:Physics]] * [[:Modding:Audio]] * [[:Modding:Files]] * [[:Modding:Spawnables]] * [[:Modding:Input]] * [[:Modding:Custom Assets]] 5817c4e35f12cc91141df713146c2a6fc4e34534 Modding:Game Loop and Tick 0 217 840 835 2024-03-27T17:49:21Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] You can add an update function like so. <syntaxhighlight> function update() -- do things every update end </syntaxhighlight> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</code> to get the number of seconds since last. Mods update on the main thread. If the mod updates takes long, then the game will be frozen until the update is done. d6866034e426c5f3e4e1942cda7d66036c48eeee 841 840 2024-03-27T17:49:30Z Frans fbg 439888 wikitext text/x-wiki [[category:Modding]] You can add an update function like so. <syntaxhighlight lang="lua"> function update() -- do things every update end </syntaxhighlight> This is usually added to your <code>main.lua</code> to have an update-loop for your mod. '''Caution:''' As it needs to be declared in global scope, then the function can be overwritten and will be invoked with the re-declaration. There are no validation checks if you have duplicate declarations of the update function. You can use <code>tm.os.GetModDeltaTime()</code> to get the number of seconds since last. Mods update on the main thread. If the mod updates takes long, then the game will be frozen until the update is done. 336000d9f685b7a3c0d695e600a749d11de1789a Modding:ModGameObject 0 218 842 2024-03-27T17:55:38Z Frans fbg 439888 Created page with "[[Category:Modding]] {{Stub}} There are several types of ModGameObjects that you can reference. * '''Built-in GameObject''' - Built-in prefabs from Trailmakers, that we have made available to modders can be spawned. * '''Custom Mesh''' - You can add custom meshes to your mod, and spawn those inside the game. * '''Trigger''' - You can spawn Triggers used for checking if things enter/exit a specific area in the world. * '''Players''' - You can get the ModGameObject of p..." wikitext text/x-wiki [[Category:Modding]] {{Stub}} There are several types of ModGameObjects that you can reference. * '''Built-in GameObject''' - Built-in prefabs from Trailmakers, that we have made available to modders can be spawned. * '''Custom Mesh''' - You can add custom meshes to your mod, and spawn those inside the game. * '''Trigger''' - You can spawn Triggers used for checking if things enter/exit a specific area in the world. * '''Players''' - You can get the ModGameObject of players == Spawning ModGameObject == There are various ways you can spawn objects depending on your need. === Example - Spawning a built-in object === You can get the list of built-in spawnable objects using <syntaxhighlight lang="lua"> local spawn_name = "PFB_BARREL" local spawn_position = tm.vector3.Create(0,0,0) local barrel_obj = tm.physics.SpawnObject(spawn_position, spawn_name) </syntaxhighlight> === Example - Spawning a custom mesh with a custom texture === Assuming you have added a mesh.obj and texture.png to your mod folder. <syntaxhighlight lang="lua"> local mesh_path = "mesh.obj" local texture_path = "texture.png" local mesh_key = "myMesh01" local texture_key = "myTexture01" local is_kinematic = True local mass = 1000 local spawn_position = tm.vector3.Create(0,0,0) tm.physics.AddMesh(mesh_path, mesh_key) tm.physics.AddTexture(texture_path, texture_key) local custom_obj = tm.physics.SpawnCustomObject(spawn_position, mesh_key, texture_key, is_kinematic, 1000) Example - Spawning a trigger local spawn_position = tm.vector3.Create(0,0,0) local size = 10 local trigger_obj = tm.physics.SpawnBoxTrigger(spawn_position, size) </syntaxhighlight> == Despawning ModGameObject == Simple calling the reference to the ModGameObject with Despawn() <syntaxhighlight lang="lua"> local spawn_name = "PFB_BARREL" local spawn_position = tm.vector3.Create(0,0,0) local barrelObj = tm.physics.SpawnObject(spawn_position, spawn_name) barrelObj.Despawn() </syntaxhighlight> == Positioning of ModGameObject == ModGameObject has reference to , meaning you can move, rotate and scale them. Example - Move a ModGameObject above a player <syntaxhighlight lang="lua"> local barrel_obj = tm.physics.SpawnObject(tm.vector3.Create(0,0,0), "PFB_BARREL") local player_position = tm.players.GetPlayerTransform(0).GetPosition() barrel_obj.GetTransform().SetPosition(player_position + (tm.vector3.Up() * 2)) </syntaxhighlight> 55876dc6bc9c1d2c93c302d8c9b4b2b4fdecc757 Modding:ModTransform 0 219 843 2024-03-27T17:58:42Z Frans fbg 439888 Created page with "[[Category:Modding]] {{Stub}} Position, rotation and scale of an object. == Working with ModTransforms == [[Modding:ModGameObject]] has a reference to a ModTransform using <code>GetTransform()</code>. === Example - Getting a players transform using players object === <syntaxhighlight lang="lua"> local player_id = 0 local player_transform = tm.players.GetPlayerTransform(player_id) </syntaxhighlight> === Example - Getting a players transform using gameobject transform..." wikitext text/x-wiki [[Category:Modding]] {{Stub}} Position, rotation and scale of an object. == Working with ModTransforms == [[Modding:ModGameObject]] has a reference to a ModTransform using <code>GetTransform()</code>. === Example - Getting a players transform using players object === <syntaxhighlight lang="lua"> local player_id = 0 local player_transform = tm.players.GetPlayerTransform(player_id) </syntaxhighlight> === Example - Getting a players transform using gameobject transform === <syntaxhighlight lang="lua"> local player_id = 0 local player_obj = tm.players.GetPlayerGameObject(player_id) local player_transform = tm.players.GetTransform() </syntaxhighlight> === Example - Getting a spawned game object transform === <syntaxhighlight lang="lua"> local spawn_name = "PFB_BARREL" local spawn_position = tm.vector3.Create(0, 0, 0) local barrel_obj = tm.physics.SpawnObject(spawn_position, spawn_name) local barrel_transform = barrel.obj.GetTransform() </syntaxhighlight> 08d4ff7cbe87897464397403ba46398d10652bd0 Modding:ModQuaternion 0 220 844 2024-03-27T17:59:56Z Frans fbg 439888 Created page with "[[Category:Modding]] {{Stub}} == Working with ModQuaternion == You can do spherical interporation between two quaternions for smooth movement between rotations using tm.quaternion.Slerp(firstQuaternion, secondQuaternion, t) === Creating Quaternions === There are various ways you can create quaternions <syntaxhighlight lang="lua"> --- quaternion components (float) tm.quaternion.Create(x, y, z, w) --- x (float), y (float), z (float) eulerAngles tm.quaternion.Create(x,..." wikitext text/x-wiki [[Category:Modding]] {{Stub}} == Working with ModQuaternion == You can do spherical interporation between two quaternions for smooth movement between rotations using tm.quaternion.Slerp(firstQuaternion, secondQuaternion, t) === Creating Quaternions === There are various ways you can create quaternions <syntaxhighlight lang="lua"> --- quaternion components (float) tm.quaternion.Create(x, y, z, w) --- x (float), y (float), z (float) eulerAngles tm.quaternion.Create(x, y, z) --- rotation based on an angle (float) and an axis that is being rotated around (ModVector3) tm.quaternion.Create(angle, axis) </syntaxhighlight> 752e9faf7bdbc1fd17a7dc262908336649f3b7a2 Modding:Custom Assets 0 221 845 2024-03-27T18:45:56Z Frans fbg 439888 Created page with "[[Category:Modding]] {{Stub}} You can add custom assets such as mesh and textures to your mod. <syntaxhighlight lang="lua"> --- Add a mesh to all clients, note this will have to be sent to the client when they join function tm.physics.AddMesh(filename, resourceName) end --- Add a texture to all clients, note this will have to be sent to the client when they join function tm.physics.AddTexture(filename, resourceName) end --- Spawn a custom physics object where mesh and..." wikitext text/x-wiki [[Category:Modding]] {{Stub}} You can add custom assets such as mesh and textures to your mod. <syntaxhighlight lang="lua"> --- Add a mesh to all clients, note this will have to be sent to the client when they join function tm.physics.AddMesh(filename, resourceName) end --- Add a texture to all clients, note this will have to be sent to the client when they join function tm.physics.AddTexture(filename, resourceName) end --- Spawn a custom physics object where mesh and texture have to be set by AddMesh and AddTexture. function tm.physics.SpawnCustomObject(position, meshName, textureName) end </syntaxhighlight> There is no way to use built-in textures on your custom meshes - you will always have to add a custom texture. == Feature overview == * Supports OBJ meshes and PNG and JPG textures * Automatic LOD generation (3 levels) of meshes == Working with custom assets == There is a video guide by [[:Player:TerrorSoul]] which can be seen here: <youtube>oCKOfOvF4Q4</youtube> The game has a dictionary with all mods and their resources. As you add assets, they get added to this list. Meshes and textures shares the same list, meaning that you cannot use the same key for either textures or meshes. '''Note:''' Multiple meshes can use the same texture, meaning you can make texture atlases. === Best practice === Meshes tends to be smaller size and have better compression rate, meaning they are faster to transfer than textures. And as they give the initial visual cue of the mod, then we recommend to first load meshes upfront and then afterwards add the textures. fd48bba58f638d4bce358042254f988d53c6d3f7 846 845 2024-03-27T18:46:29Z Frans fbg 439888 /* Working with custom assets */ wikitext text/x-wiki [[Category:Modding]] {{Stub}} You can add custom assets such as mesh and textures to your mod. <syntaxhighlight lang="lua"> --- Add a mesh to all clients, note this will have to be sent to the client when they join function tm.physics.AddMesh(filename, resourceName) end --- Add a texture to all clients, note this will have to be sent to the client when they join function tm.physics.AddTexture(filename, resourceName) end --- Spawn a custom physics object where mesh and texture have to be set by AddMesh and AddTexture. function tm.physics.SpawnCustomObject(position, meshName, textureName) end </syntaxhighlight> There is no way to use built-in textures on your custom meshes - you will always have to add a custom texture. == Feature overview == * Supports OBJ meshes and PNG and JPG textures * Automatic LOD generation (3 levels) of meshes == Working with custom assets == There is a video guide by [[:Players:TerrorSoul]] which can be seen here: <youtube>oCKOfOvF4Q4</youtube> The game has a dictionary with all mods and their resources. As you add assets, they get added to this list. Meshes and textures shares the same list, meaning that you cannot use the same key for either textures or meshes. '''Note:''' Multiple meshes can use the same texture, meaning you can make texture atlases. === Best practice === Meshes tends to be smaller size and have better compression rate, meaning they are faster to transfer than textures. And as they give the initial visual cue of the mod, then we recommend to first load meshes upfront and then afterwards add the textures. 3608825ffae442c6468d991df72c5a1f61ef1a36 Modding:Files 0 222 848 2024-03-27T18:50:30Z Frans fbg 439888 Created page with "[[Category:Modding]] {{Stub}} Trailmakers API supports two ways of handling data, dynamic and static * Dynamic data is for data can be read and written during runtime. The data will persistent between game sessions. * Static data is for data that can be shipped together with the mod and stays static. You can only read the data from here. File Handling is great to use for saving states as data and for them to be loader up later on. Here is a few examples * Leaderboards..." wikitext text/x-wiki [[Category:Modding]] {{Stub}} Trailmakers API supports two ways of handling data, dynamic and static * Dynamic data is for data can be read and written during runtime. The data will persistent between game sessions. * Static data is for data that can be shipped together with the mod and stays static. You can only read the data from here. File Handling is great to use for saving states as data and for them to be loader up later on. Here is a few examples * Leaderboards * Custom player states (points, currencies, inventory, etc.) * Mod configurations (custom keybindings, settings for gamemode, etc.) * Pre-baked data (lookup tables) It is also heavily used for custom maps. == Working with files == === Example - Save a list of players in-game as JSON === <syntaxhighlight lang="lua"> -- Location to save dynamic data to local json_path = "players.json" function onPlayerJoined (callback) local players = tm.players.CurrentPlayers() local save_content = {} for index, value in ipairs(players) do -- For each player we get some basic info about them... local name = tm.players.GetPlayerName(value.playerId) local position = tm.players.GetPlayerTransform(value.playerId).GetPosition() save_content[index] = { id = value.playerId, name = name, position = { x = position.x, y = position.y, z = position.z } } end -- Serialise the table as JSON local content = json.serialize(save_content) -- Write string data inside data_dynmic folder, check the content! tm.os.WriteAllText_Dynamic(json_path, content) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> === Example - Load list of banned players and kick names on list === Save the JSON data below as banned_players.json inside data_static <syntaxhighlight lang="json"> [ "BadPlayerA", "BadPlayerTwo" ] </syntaxhighlight> <syntaxhighlight lang="lua"> local banned_players_path = "banned_players.json" -- Load the JSON data and parse the JSON object as a table local banned_player_names = json.parse(tm.os.ReadAllText_Static(banned_players_path)) function onPlayerJoined(callback) local player_name = tm.players.GetPlayerName(callback.playerId) -- Every time a player joins, we check if their name is on the naughty list and kick them for _, value in ipairs(banned_player_names) do if value == player_name then tm.os.Log(player_name .. " is on banned players. Kicking!") tm.players.Kick(callback.playerId) end end end </syntaxhighlight> 42e716fb5e6fded5cdc0545b282b807cce60410d Modding:PlayerUI 0 223 849 2024-03-27T19:00:05Z Frans fbg 439888 Created page with "{{warning}} Mod Window will only be showed if any kind of Player UI have been added to it. If no playerUI has been added, then it wont show. Every mod has its own mod window, that can be spawned with adding elements to it. Every player has their own window, meaning you can displayed unique windows for every player. UI elements gets added to players windows, and stays there until <code>tm.playerUI.ClearUI(playerId)</code> gets called, which removes all elements. Ther..." wikitext text/x-wiki {{warning}} Mod Window will only be showed if any kind of Player UI have been added to it. If no playerUI has been added, then it wont show. Every mod has its own mod window, that can be spawned with adding elements to it. Every player has their own window, meaning you can displayed unique windows for every player. UI elements gets added to players windows, and stays there until <code>tm.playerUI.ClearUI(playerId)</code> gets called, which removes all elements. There is currently no way to remove individual elements. == How to display values == You can display basic text and values using <code>tm.playerUI.AddUILabel(playerId, id, defaultValue)</code>. === Example - Show list of players id and names connected to the server=== <syntaxhighlight lang="lua"> function onPlayersChange(callback) local players = tm.players.CurrentPlayers() -- Iterate every players UI and update it for _, player_update in ipairs(players) do -- Clear player_updates window tm.playerUI.ClearUI(player_update.playerId) -- Iterate every player again and add labels for them to player_update for _, player_info in ipairs(players) do local name = tm.players.GetPlayerName(player_info.playerId) tm.playerUI.AddUILabel(player_update.playerId, "player_" .. player_info.playerId, "Player " .. player_info.playerId .. ": " .. name) end end end tm.players.OnPlayerJoined.add(onPlayersChange) tm.players.OnPlayerLeft.add(onPlayersChange) </syntaxhighlight> == How to work with text fields == You can display text fields that you can edit === Example - Spawn built-in gameobject based on text field === <syntaxhighlight lang="lua"> -- Text state for each player player_state = {} -- Spawn object above players head function onSpawn (callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 -- callback.value returns the value of the textfield tm.physics.SpawnObject(pos, player_state[callback.playerId]) end -- Save the text change to global state, such that onSpawn knows what the value is function onTextChange (callback) player_state[callback.playerId] = callback.value end function onPlayerJoined (callback) -- Set default value player_state[callback.playerId] = "PFB_Barrel" tm.playerUI.AddUIText(callback.playerId, "text", player_state[callback.playerId], onTextChange) tm.playerUI.AddUIButton(callback.playerId, "btn", "Spawn", onSpawn) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> == How to work with buttons == You can add clickable buttons that can execute functions using <code>tm.playerUI.AddUIButton(playerId, id, defaultValue, callback, data)</code> The callback function includes a parameter argument object with a playerId string which refeers to which player clicked the button. <syntaxhighlight lang="lua"> function onButtonClicked(callback) tm.os.Log("Which player clicked? " .. callback.playerId) end tm.playerUI.AddUIButton(0, "btn_01", "Button", onButtonClicked) Example - Spawn a barrel above the player who clicks a button function onButtonPressed(callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 tm.physics.SpawnObject(pos, "PFB_BARREL") end function onPlayerJoined(callback) -- Give the new player a UI button which calls "onButtonPressed" function. tm.playerUI.AddUIButton(callback.playerId, "spawn", "Spawn", onButtonPressed) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> 7012ec21ca9e17ac87850031abe250a81ae3dc6d 850 849 2024-03-27T19:01:49Z Frans fbg 439888 wikitext text/x-wiki Every mod has its own mod window, that can be spawned with adding elements to it. Every player has their own window, meaning you can displayed unique windows for every player. Mod Window will only be showed if any kind of Player UI have been added to it. If no playerUI has been added, then it wont show. UI elements gets added to players windows, and stays there until <code>tm.playerUI.ClearUI(playerId)</code> gets called, which removes all elements. There is currently no way to remove individual elements. == How to display values == You can display basic text and values using <code>tm.playerUI.AddUILabel(playerId, id, defaultValue)</code>. === Example - Show list of players id and names connected to the server=== <syntaxhighlight lang="lua"> function onPlayersChange(callback) local players = tm.players.CurrentPlayers() -- Iterate every players UI and update it for _, player_update in ipairs(players) do -- Clear player_updates window tm.playerUI.ClearUI(player_update.playerId) -- Iterate every player again and add labels for them to player_update for _, player_info in ipairs(players) do local name = tm.players.GetPlayerName(player_info.playerId) tm.playerUI.AddUILabel(player_update.playerId, "player_" .. player_info.playerId, "Player " .. player_info.playerId .. ": " .. name) end end end tm.players.OnPlayerJoined.add(onPlayersChange) tm.players.OnPlayerLeft.add(onPlayersChange) </syntaxhighlight> == How to work with text fields == You can display text fields that you can edit === Example - Spawn built-in gameobject based on text field === <syntaxhighlight lang="lua"> -- Text state for each player player_state = {} -- Spawn object above players head function onSpawn (callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 -- callback.value returns the value of the textfield tm.physics.SpawnObject(pos, player_state[callback.playerId]) end -- Save the text change to global state, such that onSpawn knows what the value is function onTextChange (callback) player_state[callback.playerId] = callback.value end function onPlayerJoined (callback) -- Set default value player_state[callback.playerId] = "PFB_Barrel" tm.playerUI.AddUIText(callback.playerId, "text", player_state[callback.playerId], onTextChange) tm.playerUI.AddUIButton(callback.playerId, "btn", "Spawn", onSpawn) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> == How to work with buttons == You can add clickable buttons that can execute functions using <code>tm.playerUI.AddUIButton(playerId, id, defaultValue, callback, data)</code> The callback function includes a parameter argument object with a playerId string which refeers to which player clicked the button. <syntaxhighlight lang="lua"> function onButtonClicked(callback) tm.os.Log("Which player clicked? " .. callback.playerId) end tm.playerUI.AddUIButton(0, "btn_01", "Button", onButtonClicked) Example - Spawn a barrel above the player who clicks a button function onButtonPressed(callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 tm.physics.SpawnObject(pos, "PFB_BARREL") end function onPlayerJoined(callback) -- Give the new player a UI button which calls "onButtonPressed" function. tm.playerUI.AddUIButton(callback.playerId, "spawn", "Spawn", onButtonPressed) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> 8f5c7748be3e67661f2bce3182cb5095166c1721 851 850 2024-03-27T19:02:33Z Frans fbg 439888 wikitext text/x-wiki [[Category:Modding]] Every mod has its own mod window, that can be spawned with adding elements to it. Every player has their own window, meaning you can displayed unique windows for every player. Mod Window will only be showed if any kind of Player UI have been added to it. If no playerUI has been added, then it wont show. UI elements gets added to players windows, and stays there until <code>tm.playerUI.ClearUI(playerId)</code> gets called, which removes all elements. There is currently no way to remove individual elements. == How to display values == You can display basic text and values using <code>tm.playerUI.AddUILabel(playerId, id, defaultValue)</code>. === Example - Show list of players id and names connected to the server=== <syntaxhighlight lang="lua"> function onPlayersChange(callback) local players = tm.players.CurrentPlayers() -- Iterate every players UI and update it for _, player_update in ipairs(players) do -- Clear player_updates window tm.playerUI.ClearUI(player_update.playerId) -- Iterate every player again and add labels for them to player_update for _, player_info in ipairs(players) do local name = tm.players.GetPlayerName(player_info.playerId) tm.playerUI.AddUILabel(player_update.playerId, "player_" .. player_info.playerId, "Player " .. player_info.playerId .. ": " .. name) end end end tm.players.OnPlayerJoined.add(onPlayersChange) tm.players.OnPlayerLeft.add(onPlayersChange) </syntaxhighlight> == How to work with text fields == You can display text fields that you can edit === Example - Spawn built-in gameobject based on text field === <syntaxhighlight lang="lua"> -- Text state for each player player_state = {} -- Spawn object above players head function onSpawn (callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 -- callback.value returns the value of the textfield tm.physics.SpawnObject(pos, player_state[callback.playerId]) end -- Save the text change to global state, such that onSpawn knows what the value is function onTextChange (callback) player_state[callback.playerId] = callback.value end function onPlayerJoined (callback) -- Set default value player_state[callback.playerId] = "PFB_Barrel" tm.playerUI.AddUIText(callback.playerId, "text", player_state[callback.playerId], onTextChange) tm.playerUI.AddUIButton(callback.playerId, "btn", "Spawn", onSpawn) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> == How to work with buttons == You can add clickable buttons that can execute functions using <code>tm.playerUI.AddUIButton(playerId, id, defaultValue, callback, data)</code> The callback function includes a parameter argument object with a playerId string which refeers to which player clicked the button. <syntaxhighlight lang="lua"> function onButtonClicked(callback) tm.os.Log("Which player clicked? " .. callback.playerId) end tm.playerUI.AddUIButton(0, "btn_01", "Button", onButtonClicked) Example - Spawn a barrel above the player who clicks a button function onButtonPressed(callback) local pos = tm.players.GetPlayerTransform(callback.playerId).GetPosition() local pos = pos + tm.vector3.Up() * 2 tm.physics.SpawnObject(pos, "PFB_BARREL") end function onPlayerJoined(callback) -- Give the new player a UI button which calls "onButtonPressed" function. tm.playerUI.AddUIButton(callback.playerId, "spawn", "Spawn", onButtonPressed) end tm.players.OnPlayerJoined.add(onPlayerJoined) </syntaxhighlight> 22e90bc43b1b0c49ccbd86bf4f391b658d35800d Category:Modding 14 224 852 2024-03-27T19:02:54Z Frans fbg 439888 Created blank page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:High Seas Steam.jpg 6 225 854 2024-03-27T20:10:31Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Airborne Steam.jpg 6 226 855 2024-03-27T20:11:20Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Clear 10 227 856 2024-03-27T20:15:22Z Frans fbg 439888 Created page with "<includeonly><div style="clear:{{{1|both}}}"></div></includeonly><noinclude> {{doc}} [[Category:Formatting templates|{{PAGENAME}}]]</noinclude>" wikitext text/x-wiki <includeonly><div style="clear:{{{1|both}}}"></div></includeonly><noinclude> {{doc}} [[Category:Formatting templates|{{PAGENAME}}]]</noinclude> 4ef4b3c7d72266189176f628dde0e812ddb4480e File:Space voyager steam.jpg 6 228 857 2024-03-27T20:21:17Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Decals action pack steam.jpg 6 229 858 2024-03-27T20:24:55Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Decals expression pack steam.jpg 6 230 859 2024-03-27T20:26:05Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Skin pack 2 steam.jpg 6 231 860 2024-03-27T20:26:14Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Skin pack steam.jpg 6 232 861 2024-03-27T20:26:24Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Hat pack steam.jpg 6 233 862 2024-03-27T20:26:35Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 DLC 0 141 863 575 2024-03-27T20:28:17Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == === High Seas Expansion === [[File:High_Seas_Steam.jpg|thumb|right|400px|Steam Store Image]] [[High Seas]] Expansions was the first expansion package for Trailmakers. It's contains a completely new [[Sandbox]] map, where people are faced with strong winds and waters, with a completely revamped physics-based system for weather. {{clear}} === Airborne Expansion === [[File:Airborne_Steam.jpg|thumb|right|400px|Steam Store Image]] [[Airborne]] Expansion is a brand new campaign experience for the player, where they are tasked to save the peaceful [[Chirpos]] from the [[Robot Pirate]] invasions. It features a campaign with focus on air combat and navigation. {{clear}} == Packs == === Skin Pack === [[File:skin_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Hat Pack === [[File:hat_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Skin Pack 2 === [[File:skin_pack_2_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Decals Expression Pack === [[File:decals_expression_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Decals Action Pack === [[File:decals_action_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Space Voyager Pack === [[File:Space_voyager_steam.jpg|thumb|right|400px|Steam Store Image]] The space voyager pack was released together [[Space Sector]] map during the 1.8 updated. The pack features a set of sci-fi looking blocks such as [[Rocket Engine]], [[Space Fighter Seat]] and a new set of accessory block, cosmetics items for the players character and 18 new decals. {{clear}} 7242bee33238aa20cd73334f3ff57fd6a718d558 867 863 2024-03-28T07:58:26Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 }} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_pack_steam.jpg |caption=Space Voyager Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=coming soon }} {{Flexend}} === Skin Pack === [[File:skin_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Hat Pack === [[File:hat_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Skin Pack 2 === [[File:skin_pack_2_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Decals Expression Pack === [[File:decals_expression_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Decals Action Pack === [[File:decals_action_pack_steam.jpg|thumb|right|400px|Steam Store Image]] {{clear}} === Space Voyager Pack === [[File:Space_voyager_steam.jpg|thumb|right|400px|Steam Store Image]] The space voyager pack was released together [[Space Sector]] map during the 1.8 updated. The pack features a set of sci-fi looking blocks such as [[Rocket Engine]], [[Space Fighter Seat]] and a new set of accessory block, cosmetics items for the players character and 18 new decals. {{clear}} ad5d5971f414ebeaa002c0f1595ea4ca6e40d6fc 868 867 2024-03-28T07:58:57Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 }} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=coming soon }} {{Flexend}} 687592d38104431e921f064c84ec1ae5632447e2 870 868 2024-03-28T07:59:35Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 }} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=coming soon }} {{Flexend}} 5226abae505b91c0b7ce8096c2e326e6282a35e1 871 870 2024-03-28T08:02:06Z Frans fbg 439888 Steam links wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam, Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 ]}} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=coming soon }} {{Flexend}} 1585120e07ecfeb61eba23dc876b76b81e56be77 872 871 2024-03-28T08:02:32Z Frans fbg 439888 Fixed missing ] wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 ]}} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=coming soon }} {{Flexend}} 801d98d71da8574f2362d3fea113a18fc8d276f2 873 872 2024-03-28T08:04:38Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox Series] |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=27 April 2023 ]}} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, Xbox One, Xbox Series |release=31 October 2022 }} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=coming soon }} {{Flexend}} 7892faf1061a622637b4521b4997de2034feffca 874 873 2024-03-28T08:10:12Z Frans fbg 439888 Xbox one and Series store links wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox Series] |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox Series] |release=27 April 2023 ]}} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox One], [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox Series] |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=31 October 2022 [}} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=coming soon }} {{Flexend}} 71ff45c57b08a5064c8dc6fe5bfac7db600ce59d 875 874 2024-03-28T08:10:37Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox Series] |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox Series] |release=27 April 2023 }} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox One], [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox Series] |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=31 October 2022 [}} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=coming soon }} {{Flexend}} 7849f04a14228fe9551b22c3e484d43f1ade043e 876 875 2024-03-28T08:11:04Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} This article contains information about the Downloadable Content (DLC) released for Trailmakers. == Expansions == {{Flexstart|inline}} {{InfoboxGame |title=High Seas Expansion |image=High_Seas_Steam.jpg |caption=High Seas Steam store header |platform=[https://store.steampowered.com/app/1607390/Trailmakers_High_Seas_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-high-seas-expansion/9P6KGLTDMGQV/0010 Xbox Series] |release=10 December 2021 }} {{InfoboxGame |title=Airborne Expansion |image=Airborne_Steam.jpg |caption=Airborne Steam store header |platform=[https://store.steampowered.com/app/2285970/Trailmakers_Airborne_Expansion/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-airborne-expansion/9N3TK5JBNZXT/0010 Xbox Series] |release=27 April 2023 }} {{Flexend}} == Packs == {{Flexstart|inline}} {{InfoboxGame |title=Skin Pack |image=skin_pack_steam.jpg |caption=Skin Pack Steam store header |platform=[https://store.steampowered.com/app/1183540/Trailmakers_Skin_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-skin-pack/9P2XXT5WJ35B/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Hat Pack |image=hat_pack_steam.jpg |caption=Hat Pack Steam store header |platform=[https://store.steampowered.com/app/1171470/Trailmakers_Hat_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-hat-pack/9N0K6GC6G0GL/0010 Xbox Series] |release=11 December 2019 }} {{InfoboxGame |title=Skin Pack 2 |image=skin_pack_2_steam.jpg |caption=Skin Pack 2 Pack Steam store header |platform=[https://store.steampowered.com/app/1333570/Trailmakers_Skin_Pack_2/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox One], [https://www.xbox.com/en-US/games/store/skin-pack-2/9MW4R2FJ3BRC/0010 Xbox Series] |release=1 July 2020 }} {{InfoboxGame |title=Decals Expression Pack |image=decals_expression_pack_steam.jpg |caption=Decals Expression Pack Steam store header |platform=[https://store.steampowered.com/app/2054120/Trailmakers_Decals_Expression_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-expression-pack/9NCWQ30MJCTD/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Decals Action Pack |image=decals_action_pack_steam.jpg |caption=Decals Action Pack Steam store header |platform=[https://store.steampowered.com/app/2054110/Trailmakers_Decals_Action_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox One], [https://www.xbox.com/en-US/games/store/decals-action-pack/9N39238JB847/0010 Xbox Series] |release=22 August 2022 }} {{InfoboxGame |title=Space Voyager Pack |image=space_voyager_steam.jpg |caption=Space Voyager Pack Steam store header |platform=[https://store.steampowered.com/app/2579530/Trailmakers_Space_Voyager_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=31 October 2023 [}} {{InfoboxGame |title=Rescue Pack |image=Rescue_pack_steam.jpg |caption=Rescue Pack Steam store header |platform=[https://store.steampowered.com/app/2863610/Trailmakers_Rescue_Pack/ Steam], Windows Store, PS4, PS5, [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox One], [https://www.xbox.com/en-US/games/store/trailmakers-space-voyager-pack/9PBHX5V7H435/0010 Xbox Series] |release=coming soon }} {{Flexend}} 951b0658f61d10daaa73810e72de16e9fa36234b Game Modes 0 20 864 112 2024-03-27T20:30:20Z Frans fbg 439888 wikitext text/x-wiki {{Stub}} '''Game Modes''' are the different ways that [[Trailmakers]] can be played. ==Campaign Mode: Stranded in Space== After your spacecraft crashes on an unknown alien world, you must gather [[salvage]] from across the vast map in order to build a spaceship to fly home. Dive into the depths of the ocean, fly into a volcano, the world is your oyster in this open-ended survival adventure. <br /> == Campaign Mode: Rally == Learn the basics of racing in Trailmakers. You will learn how to build various kinds of vehicles, and steadily take on more challenges as you progress in this campaign. Once you've completed the campaign, take on the global leaderboards against the worldwide community of Trailmakers! <br /> == Campaign: High Seas (DLC) == [[High Seas]] is the first expansion for Trailmakers, in which you play on a sandbox map with expanded physics - there's wind, weather and waves to contend with, as you try to find all the collectible artifacts and treasure chests. <br /> == Race Island == Compete with your friends in Time Trials, or to become the top player on our global leaderboards! == Sandbox Maps == There are currently 4 sandbox maps you can play in with your friends in Trailmakers: * '''Treasure Island''' You can solve treasure hunts and play your own way on [[Treasure Island]]. * '''Danger Zone''' Live out your daredevil daydreams on the [[Danger Zone]] map, and pull off stunts on the ramps, halfpipes and other obstacles! * '''Test Zone''' If you're looking for a blank slate to build your creations in, [[Test Zone]] is for you. Challenge yourself and your friends in an environment free of obstacles. * '''High Seas''' Test your mettle as sailors in the first expansion to Trailmakers, or challenge your piloting skills against the winds on the [[High Seas]]. == Multiplayer == Trailmakers can (at the time of writing) be played by up to four players in multiplayer in all modes but Rally. [[Category:Trailmakers]] [[Category:Game Modes]] [[Category:Server]] {{DEFAULTSORT:Game Modes}} 8e1a107865956d4ee36241aff29e77fc3e7e0193 Workshop & Galleries 0 147 865 581 2024-03-27T20:40:23Z Frans fbg 439888 wikitext text/x-wiki {{stub}} == Steam Workshop == === How to create custom workshop thumbnails === # Create the thumbnail (must be <1 MB in size) # Create a txt file, then rename it to have a <code>.vdf</code> extension and open it with notepad. On that file write this, replacing <code>workshopid</code> with the id of the blueprint you want to update (the number at the end of the workshop link after <code>?id=</code>) and <code>C:\\path\\to\\thumbnail.png</code> with the path to your thumbnail file (using <code>\\</code> as folder separators) <syntaxhighlight lang="json"> "workshopitem" { "appid" "585420" "publishedfileid" "workshopid" "previewfile" "C:\\path\\to\\thumbnail.png" } </syntaxhighlight> # Download [https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD steamcmd] (a command line version of the steam client made by valve) and extract it into a folder # Go to that folder with cmd and run it (just type <code>steamcmd</code> while on the same folder), this will update it and start it. # Type <code>login username password steamGuardCode</code> (if you don't use steam guard 2FA you can skip that). This might log you out of the normal steam client # Type <code>workshop_build_item "C:\\path\\to\\file.vdf"</code>, replacing <code>C:\\path\\to\\file.vdf</code> with the path to the txt file # Quit the program by typing <code>quit</code> 9646171abee9984d1093d6ba4e982e7187b7bf5a 866 865 2024-03-27T20:42:37Z Frans fbg 439888 wikitext text/x-wiki {{stub}} == Steam Workshop == === How to create custom workshop thumbnails === # Create the thumbnail (must be <1 MB in size) # Create a txt file, then rename it to have a <code>.vdf</code> extension and open it with notepad. On that file write this, replacing <code>workshopid</code> with the id of the blueprint you want to update (the number at the end of the workshop link after <code>?id=</code>) and <code>C:\\path\\to\\thumbnail.png</code> with the path to your thumbnail file (using <code>\\</code> as folder separators) <syntaxhighlight lang="json"> "workshopitem" { "appid" "585420" "publishedfileid" "workshopid" "previewfile" "C:\\path\\to\\thumbnail.png" } </syntaxhighlight> # Download [https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD steamcmd] (a command line version of the steam client made by valve) and extract it into a folder # Go to that folder with cmd and run it (just type <code>steamcmd</code> while on the same folder), this will update it and start it. # Type <code>login username password steamGuardCode</code> (if you don't use steam guard 2FA you can skip that). This might log you out of the normal steam client # Type <code>workshop_build_item "C:\\path\\to\\file.vdf"</code>, replacing <code>C:\\path\\to\\file.vdf</code> with the path to the txt file # Quit the program by typing <code>quit</code> ==== Troubleshooting ==== '''ERROR! Failed to load build config file''' The program can't find your txt file. Make sure you wrote the file path in the command correctly, using <code>\\</code> as folder separator and inside of quotes Make sure you correctly changed the file extension of the txt file. By default, windows hides file extensions, and you can't change it without enabling them. If when you create a new txt file you don't see the name end in <code>.txt</code>, you need to enable the file extensions under the view menu at the top bar of the file explorer, then change the extension of the file again '''ERROR! Failed to parse build config file''' The program couldn't process your txt file correctly. This can be caused by many things, make sure its content are exactly as described with only the modifications mentioned e60767055d0384310816b3e878f971e33da92637 File:Rescue pack steam.jpg 6 234 869 2024-03-28T07:59:18Z Frans fbg 439888 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709